Расчет даты в будущем или прошлом

PowerShell:
Расчет даты в будущем или прошлом

Как это сделать:

Добавить дни к текущей дате:

# Добавить 10 дней к сегодняшней дате
$newDate = (Get-Date).AddDays(10)
Write-Output $newDate

Пример вывода:

Четверг, 13 апреля 2023 года

Вычесть дни из текущей даты:

# Вычесть 15 дней из сегодняшней даты
$pastDate = (Get-Date).AddDays(-15)
Write-Output $pastDate

Пример вывода:

Среда, 20 марта 2023 года

Рассчитать разницу между двумя датами:

# Разница между двумя датами
$date1 = Get-Date '2023-04-01'
$date2 = Get-Date '2023-04-15'
$diff = $date2 - $date1
Write-Output $diff.Days

Пример вывода:

14

Подробнее

Когда-то программистам приходилось вручную вычислять даты, используя сложные алгоритмы. Теперь языки программирования, такие как PowerShell, предоставляют встроенные функции, такие как AddDays, AddMonths, что делает этот процесс почти тривиальным.

Альтернативы:

Хотя AddDays удобен, существуют также функции, такие как AddHours, AddMinutes и т. д., для более детального контроля. Кроме того, вы можете использовать [datetime]::Today.AddDays(10), если предпочитаете статический подход.

Детали реализации:

Объект DateTime в PowerShell имеет эти методы встроенные, так что вам не приходится изобретать велосипед. Под капотом он обрабатывает все виды сложностей, такие как високосные годы и корректировки перехода на летнее/зимнее время за вас.

Смотрите также