PowerShell:
Kahden päivämäärän vertailu

How to: - Kuinka:

Vertailu PowerShellissa:

# Aseta päivämäärät
$pvm1 = Get-Date '2023-01-01'
$pvm2 = Get-Date '2023-12-31'

# Vertaile päivämääriä
if ($pvm1 -lt $pvm2) {
    Write-Host "$pvm1 on ennen $pvm2"
} elseif ($pvm1 -gt $pvm2) {
    Write-Host "$pvm1 on jälkeen $pvm2"
} else {
    Write-Host "$pvm1 ja $pvm2 ovat samat"
}

# Ero päivämäärien välillä
$ero = $pvm2 - $pvm1
Write-Host "Ero on: $ero"

# Ero päivinä
$päiviä = ($pvm2 - $pvm1).Days
Write-Host "Ero on: $päiviä päivää"

Esimerkki tulosteesta:

2023-01-01 12:00:00 AM on ennen 2023-12-31 12:00:00 AM
Ero on: 364.00:00:00
Ero on: 364 päivää

Deep Dive - Syväsukellus

Päivämäärien vertailu PowerShellissä käyttää .NET Frameworkin DateTime tyyppejä. Historiallisesti ajatellen, ennen PowerShellia ja .NET:iä, päivämäärien vertailu oli haastavampaa ja yleensä toteutettiin merkkijonojen käsittelyä käyttäen.

Vaihtoehtoiset tavat vertailla päivämääriä PowerShellissä voi sisältää käyttäen [datetime]-tyyppisiä metodeja, kuten .CompareTo() tai käyttäen lisämoduuleja, kuten New-TimeSpan. Myös kulttuurisidonnaiset päivämäärämuodot huomioidaan, joten ole tarkkana niiden kanssa!

Vertailu perustuu todelliseen aikaleimaan, joten aikavyöhykkeet ja kesäaika saattavat vaikuttaa lopputulokseen. Muista ottaa myös huomioon aikaleiman tarkkuus - jos kellonajat ovat tärkeitä, varmista, että ne ovat osa vertailua.

See Also - Katso Myös