Сколько дней до Нового года? Функция для PowerShell
Сколько дней до Нового года? Актуальный вопрос в преддверии наступления любимого праздника. Ранее уже оставлял заметку на тему как вычислить количество дней между двумя датами в PowerShell. Количество дней до Нового кода это частный случай, который заслуживает отдельной функции.
Для функции выбрал говорящее имя Get-DaysBeforeNewYear
.
<#
.SYNOPSIS
Number of days before the New Year
.DESCRIPTION
Return number of days until the New Year from current date. Target year can be set via parameter
.PARAMETER Year
Target year
.EXAMPLE
Get-DaysBeforeNewYear
.EXAMPLE
# Get number of days from current date to New Year 2024
Get-DaysBeforeNewYear -Year 2024
#>
Function Get-DaysBeforeNewYear() {
Param (
[Parameter(Mandatory=$false)] [Int]$Year = (Get-Date).Year + 1
)
return (New-TimeSpan -Start (Get-Date) -End (Get-Date -Year $Year -Month 1 -Day 1)).Days
}
В функции используется командлет New-TimeSpan
, который возвращает объект TimeSpan
, представляющий временной интервал между заданными датами. Используя свойство Days
объекта TimeSpan
, функция Get-DaysBeforeNewYear
возвращает целое количество дней между текущей датой и первым днём следующего или заданного в параметре -Year
года.

Для удобства вызова поместите код функции в любой из файлов профилей PowerShell и задайте псевдоним с помощью командлета Set-Alias
.
Теперь в любой момент можно легко узнать сколько дней осталось до Нового года и успеть подготовиться к празднику.