2013-02-27 4 views
6

Использование объекта даты Powershell, как вы получите день недели, 0-6, где 0 будет воскресенье, а 6 - суббота. Я знаю, что я могу получить имя дня с кодом ниже, но как мне получить номер, поскольку нет DayNumberOfWeek или эквивалентного свойства?Использование Powershell, как вы получаете день недели?

(Get-Date).DayOfWeek 

Я полагаю, я мог бы использовать название дня из кода выше в распределительном заявление, чтобы преобразовать его в число, но это, кажется, не очень красноречив.

+1

Just FYI; 0 - понедельник в некоторых странах, а воскресенье - в других. Это зависит от культуры (региональных настроек) компьютера. –

ответ

10

так:

(get-date).DayOfWeek.value__ 

Я предлагаю на будущее, чтобы выяснить, какие свойства объекта таким образом:

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

Да, я только что открыл его - просто нужно было развернуть еще один уровень. Привет, в любом случае. –

+0

Просто ждал истечения срока. –

16

Ну, DayOfWeek свойство DateTime не является строкой, а 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' * работает (возвращает« 1 »для« Понедельник »). Но я попробовал * powershell [Int] [DayOfWeek] «Среда» '*, точно так же, как вы его написали, но powershell показывает ошибку: **« Неожиданный токен «среда» в выражении или выражении. »** –

+0

Выполнить из приглашения PowerShell, а не из приглашения cmd.exe (т. Е. Не префикс команды с помощью 'powershell'). (Почему вы думаете, что вам нужно это сделать? Мой пример не имеет этого.) –

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