2013-02-27 132 views
6

使用Powershell日期對象如何獲取一週中的日期編號,0到6,其中0代表星期日,6代表星期六。我知道我可以使用下面的代碼獲取日期名稱,但是如何獲取該號碼,因爲沒有DayNumberOfWeek或同等屬性?使用Powershell如何獲得週日數?

(Get-Date).DayOfWeek 

我想我可以從代碼在switch語句使用日期名以上將它轉換成一個數字,但似乎並不很雄辯。

+1

Just FYI; 0在某些國家是星期一,在其他國家是星期天。這取決於計算機的文化(區域設置)。 – 2013-02-27 13:10:35

回答

10

這樣的:

(get-date).DayOfWeek.value__ 

我建議未來的調查什麼性質這樣的對象:

(get-date).DayOfWeek | gm -f # gm is an alias for get-member 
+0

是的,我剛剛發現它 - 只需要向下鑽取另一層。無論如何,歡呼聲。 – 2013-02-27 12:12:05

+0

只是在等待時限到期。 – 2013-02-27 13:05:22

16

好了,日期時間的DAYOFWEEK屬性不是一個字符串,而是一個DAYOFWEEK枚舉,所以最短的答案很可能是

[Int] (Get-Date).DayOfWeek # returns 0 through 6 for current day of week 

或者

[Int] [DayOfWeek] "Wednesday" # returns 3 

比爾

+0

*'powershell [Int](Get-Date).DayOfWeek' *確實有效(對於「Monday」,返回「1」)。但是,我試着*'powershell [Int] [DayOfWeek]「Wednesday」'*,就像你寫的那樣,但是powershell顯示錯誤:**「表達式或語句中的」星期三「意外的標記。 – 2016-09-05 13:08:35

+0

從PowerShell提示符運行,而不是從cmd.exe提示符運行(即,不要在'powershell'前面加上命令前綴)。 (爲什麼你認爲你需要這樣做?我的例子沒有。) – 2016-09-05 15:17:08