function Countdown-NewYear
{
$dateNow = [DateTime]::Now
$dateNewYear = [DateTime]::ParseExact( [string]
($dateNow.Year+1) + "-01-01-00-00-01", "yyyy-MM-dd-hh-mm-ss", $null)
return $dateNewYear - $dateNow
}
$newYearCounter = Countdown-NewYear
Write-Host "There are $($newYearCounter.Days) days and $($newYearCounter.Hours) hours until New Year"
Kod jest prawie identyczny jak w poprzednim odliczaczu. Tylko teraz dokładność czasu będzie uzależniona od odległości. Jeżeli do Nowego Roku będzie więcej niż 1 dzień to odliczacz przedstawi wartość w jednostkach dni, jeżeli będzie mniej niż jedna godzina, ale więcej niż jedna minuta to będzie w minutach, itp.
function ToCountdownString
{
param
(
[timespan] $timeSpan
)
if($timeSpan.Days -gt 1)
{
return "$($timeSpan.Days) days"
}
if($timeSpan.Hours -gt 1)
{
$timeRemains = $timeSpan.Days * 24 + $timeSpan.Hours
return "$timeRemains hours"
}
if($timeSpan.Minutes -gt 1)
{
$timeRemains = $timeSpan.Hours * 60 + $timeSpan.Minutes
return "$timeRemains minutes"
}
if($timeSpan.Seconds -gt 1)
{
$timeRemains = $timeSpan.Minutes * 60 + $timeSpan.Seconds
return "$timeRemains seconds"
}
$timeRemains = $timeSpan.Seconds * 1000 + $timeSpan.Milliseconds
return "$timeRemains milliseconds"
}
Kod wywołania wygląda następująco:$newYearCounter = Countdown-NewYear $countdown = ToCountdownString -timeSpan $newYearCounter Write-Host "There are $countdown until New Year"Nie przesadzajmy, nie musisz sprawdzać tego kodu w Sylwestra:) Idź i spędź ten czas z przyjaciółmi, ukochaną osobą albo z rodziną.
Brak komentarzy:
Prześlij komentarz