Een datum uit een string parsen

PowerShell:
Een datum uit een string parsen

Hoe te:

PowerShell maakt het parsen van datums vrij eenvoudig. Laten we eens kijken hoe we een string kunnen omzetten in een DateTime-object.

# Basis parsing met ParseExact
$dateString = "March 31, 2023"
$format = "MMMM dd, yyyy"
$parsedDate = [datetime]::ParseExact($dateString, $format, $null)

# Uitvoer
$parsedDate

Dit zal uitvoeren:

Vrijdag, 31 maart 2023 12:00:00 AM

Soms hebben strings verschillende formaten. Laten we dat aanpakken met Parse standaard:

# Een datum met verschillende formaten parsen
$dateString = "2023-03-31T14:45:00"
$parsedDate = [datetime]::Parse($dateString)

# Uitvoer
$parsedDate

De uitvoer hier:

Vrijdag, 31 maart 2023 14:45:00 PM

Omgaan met cultuurspecifieke formaten? Gebruik ParseExact met een specifieke cultuur:

# Cultuurspecifiek parsen
$dateString = "31/03/2023 16:45"
$format = "dd/MM/yyyy HH:mm"
$culture = [Globalization.CultureInfo]::GetCultureInfo("en-GB")
$parsedDate = [datetime]::ParseExact($dateString, $format, $culture)

# Uitvoer
$parsedDate

Die geeft als uitvoer:

Vrijdag, 31 maart 2023 16:45:00 PM

Diepgaande Duik

Nu voor wat ingewikkeldere details. Datumsparsing is altijd lastig geweest vanwege verschillende wereldwijde datumformaten. Vroeger had elke programmeertaal zijn eigen manier om met datums om te gaan, wat vaak tot inconsistenties leidde. PowerShell, als een nieuwere scripttaal, profiteerde van de DateTime-klasse van .NET, die robuuste parsingfuncties biedt.

Als alternatieven hebben we Get-Date, dat ook een string in een DateTime-object kan parsen. Overweeg TryParseExact en TryParse als u het onverwachte verwacht en uitzonderingen van onparsbare strings wilt vermijden.

Laten we het hebben over implementatie. Datumsparsing is cultuurgevoelig, wat betekent dat het datumformaat per regio kan variëren. Daarom geven we cultuur- en formaatinformatie om de verwachte structuur van de datumstring vast te leggen.

Soms kom je zeer eigenaardige formaten tegen - hier komt de ParseExact methode van pas, je Zwitsers zakmes voor datumsparsing. Het stelt je in staat om het exacte formaat op te geven dat je verwacht. Geen gokspelletjes hier.

Zie ook

Om je kennis uit te breiden, duik in deze bronnen:

Onthoud, datumsparsing is krachtig, dus hanteer het verstandig!