Konwersja daty na łańcuch znaków

PowerShell:
Konwersja daty na łańcuch znaków

How to:

Załóżmy, że masz datę i chcesz ją przekształcić na tekst. W PowerShell robisz to tak:

# Aktualna data i czas
$teraz = Get-Date

# Konwersja na string w domyślnym formacie
$stringDaty = $teraz.ToString()

# Wyświetlanie wyniku
$stringDaty

Możesz również określić własny format wyjściowy:

# Formatowanie daty w określonym formacie np. YYYY-MM-DD
$dostosowanyStringDaty = $teraz.ToString('yyyy-MM-dd')

# Wyświetlanie wyniku
$dostosowanyStringDaty

Wynikowy string będzie wyglądał tak:

2023-04-05

To tylko dwa proste przykłady. Możliwości formatowania są o wiele szersze.

Deep Dive:

Konwersja daty na string jest niezbędna, gdyż format daty różni się w zależności od kontekstu użycia. Na przykład, logi systemowe mogą wymagać jednego formatu, a raporty dla użytkownika końcowego innego.

Historia formatowania dat sięga jeszcze języków programowania, które były używane przed PowerShell, takich jak C czy Perl, gdzie również istniała potrzeba prezentacji dat w czytelnej formie.

Alternatywy do .ToString() to używanie metod formatujących jak -f, czy cmdletów jak Get-Date z parametrem -Format:

# Użycie -f do formatowania
$formattedDate = '{0:yyyy-MM-dd}' -f (Get-Date)

# Użycie cmdleta Get-Date z parametrem -Format
$cmdletFormattedDate = Get-Date -Format 'yyyy-MM-dd'

Podczas implementacji warto zwrócić uwagę na kulturotwórcze ustawienia formatowania daty (CultureInfo), ponieważ to one decydują o domyślnym formacie daty i czasu.

See Also:

Oto kilka przydatnych linków, jeśli chcesz zgłębić temat: