我有一個運行powershell腳本的計劃任務,該腳本運行帶有一些參數的可執行文件。其中一個參數是當前的週數。如何在PowerShell中確定每週的第一天?
我使用PowerShell中下面的代碼檢索weeknumber:
get-date -uformat %V
這似乎返回不正確的weeknumber
- 2014年5月4日(星期日),返回星期NR 18 (如預期)
- 2014年5月5日(星期一),返回周NR 18(預期19)
- 2014年5月6日(星期二),返回周NR 19(如預期)
在我的註冊表一週的第一天設置爲Monday(HKEY_CURRENT_USER->控制面板 - > International-> iFirstDayOfWeek = 0)
有誰知道PowerShell中檢索它的Firstdayofweek可設置的?應該(/可以)我否則將其設置在腳本中?
我知道一個解決方法是使用.AddDays(1),但我正在尋找一個整潔的解決方案。
編輯: 好的。這是非常奇怪的,我收到了不同的「本週對不同年份的第一天..
2012 - 週六:
PS C:\Users\A730978F> get-date -date "2012-01-08" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-08 Sun Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-09" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-09 Mon Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-10" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-10 Tue Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-11" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-11 Wed Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-12" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-12 Thu Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-13" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-13 Fri Week: 2
PS C:\Users\A730978F> get-date -date "2012-01-14" -uFormat "%Y-%m-%d %a Week: %V"
2012-01-14 Sat Week: 3
2013 - 週一:
PS C:\Users\A730978F> get-date -date "2013-01-06" -uFormat "%Y-%m-%d %a Week: %V"
2013-01-06 Sun Week: 1
PS C:\Users\A730978F> get-date -date "2013-01-07" -uFormat "%Y-%m-%d %a Week: %V"
2013-01-07 Mon Week: 2
PS C:\Users\A730978F> get-date -date "2013-01-08" -uFormat "%Y-%m-%d %a Week: %V"
2013-01-08 Tue Week: 2
2014 - 週二:
PS C:\Users\A730978F> get-date -date "2014-01-05" -uFormat "%Y-%m-%d %a Week: %V"
2014-01-05 Sun Week: 1
PS C:\Users\A730978F> get-date -date "2014-01-06" -uFormat "%Y-%m-%d %a Week: %V"
2014-01-06 Mon Week: 1
PS C:\Users\A730978F> get-date -date "2014-01-07" -uFormat "%Y-%m-%d %a Week: %V"
2014-01-07 Tue Week: 2
2015年 - 週三:
PS C:\Users\A730978F> get-date -date "2015-01-04" -uFormat "%Y-%m-%d %a Week: %V"
2015-01-04 Sun Week: 1
PS C:\Users\A730978F> get-date -date "2015-01-05" -uFormat "%Y-%m-%d %a Week: %V"
2015-01-05 Mon Week: 1
PS C:\Users\A730978F> get-date -date "2015-01-06" -uFormat "%Y-%m-%d %a Week: %V"
2015-01-06 Tue Week: 1
PS C:\Users\A730978F> get-date -date "2015-01-07" -uFormat "%Y-%m-%d %a Week: %V"
2015-01-07 Wed Week: 2
(請注意,我沒有嘗試過所有的周每年)
EDIT2:
再望過去的例子後,似乎週數是基於已經過去的'7天'的數量。我想它實際上並沒有使用任何「每週的第一天」設置。我想我必須做相應的計算。
感謝您的幫助!
相關:http://stackoverflow.com/questions/15111557/using-powershell-how-do-you-get-the-weekday-number –