2017-01-19 6 views
0

Как рассчитать дату с ISO 8601 календарной недели, дня недели и года в powershell?Рассчитать дату с календарной недели, буднего дня и года в powershell

Пример: календарная неделя 3, 4 недели, 2017 год должен возвращать дату объект 1/19/2017

+0

Добро пожаловать в SO. Пожалуйста, посмотрите, как задать вопрос: http://stackoverflow.com/help/how-to-ask Пожалуйста, покажите, что вы пробовали, и где вы потерпели неудачу, спасибо! – Alex

+0

https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday имеет формулу для этого. Вы должны знать, что перечисление .NET для System.DayOfWeek варьируется от 0 до 6 (с воскресенья по субботу), а не определение ISO от 1 до 7 (с понедельника по воскресенье). –

ответ

0

Использование модуля IsoDates.psm1 by Joel Bennett
Это так же просто, как:

import-module .\IsoDates.psm1 
"IsoDayofWeek for $(Get-Date "01/15/2017" -format "D") is $(Get-ISODayOfWeek "01/15/2017") vs $((Get-Date "01/15/2017").Dayofweek.value__)" 
"ISODateString for today is $(Get-ISODateString)" 
"ConvertFrom-ISODateString 2017-W01-1 is $(get-date (ConvertFrom-ISODateString("2017-W01-1")) -format "D")" 

Возвращаясь этот вывод (на моем немецком языке):

IsoDayofWeek for Sonntag, 15. Januar 2017 is 7 vs 0 
ISODateString for today is 2017-W03-4 
ConvertFrom-ISODateString 2017-W01-1 is Montag, 2. Januar 2017 
+0

Это именно то, что я искал, спасибо. –

Смежные вопросы