Показать полную графическую версию : [решено] Вычесть из даты один день
Grafitchic
18-07-2014, 13:02
на вход скрипту подается значение переменой $dates. дата может быть введена любая, по желанию пользователя.
нужно вычесть из этой даты один день. пробую следующий вариант, но он терпит неудачу:
function test_func {
param(
[parameter(
mandatory=$true,
position = 0
)
]
[datetime]$dates
)
$dates = $dates.adddays(-1)
}
после выполнения операции вычитает из месяца единицу и почему-то меняет местами месяц и день
Формат даты - MM.dd.yyyy
PS > [datetime]"1.10.2014"
10 января 2014 г. 0:00:00
Формат даты - yyyy.MM.dd
PS > [datetime]"2014.10.1"
1 октября 2014 г. 0:00:00
Так что для начало требуется определить формат даты, которую вводит пользователь.
Grafitchic, а если это первое число месяца?
Наверно сначала расписать месяцы по количеству дней. затем условие если это первое число, учесть и смену названия месяца
Например 1 апреля минус один день = 31 марта
Больше не подскажу. Знаний здесь не хватает. Просто мысли вслух :)
Примерно такого плана (http://forum.oszone.net/post-1925979-4.html). Только это батник.
Grafitchic
18-07-2014, 13:58
формат даты будет dd/MM/yyyy
то есть, чтобы определить формат необходимо вначале скрипта указать следующую сроку?
[datetime]"1/10/2014"
function test_func {
param(
[parameter(
mandatory=$true,
position = 0
)
]
$dates
)
$dates = [datetime]::parse($dates).adddays(-1)
$dates
}
PS > test_func "1/10/2014"
30 сентября 2014 г. 0:00:00
PS > test_func "1.10.2014"
30 сентября 2014 г. 0:00:00
Grafitchic
18-07-2014, 16:37
спасибо
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.