Утащил сюда статью из своего профиля на Хабре про один момент с Powershell.
Я на момент написания той статьи, заметил одну странность с лишним тактом выполнения команд в процессоре. Итак дело о лишнем тике:
В одной обработке для удобства выбора нужно было число дней до конца месяца.
Вычислялось это одной строкой такого вида: ((Get-date -Day 1).AddMonths(1)-(get-date)).days-1 Что характерно ее вычисление может давать разные результаты.
Сначала я подумал, что с кодом что-то не то, или версией Powershell. Проверил на нескольких машинках и понял, что ситуация воспроизводима. Поэтому сел дебажить и писать функцию. У меня получилось такое: Function Get-DaysToEndOfMonths([int]$Month=1)
{If($Month -lt 1){[int]$Month = 1}
$CurrentDate = get-date #Получаем текущую дату
$CurrentDay = $CurrentDate.day #И какой это день
$FirstDayCurrentMonths = (Get-date -Day 1) #Первый день текущего месяца
#$FirstDayNextMonths = $FirstDayCurrentMonths.AddMonths($Month) #Первый день иском