2013-02-27 18 views
6

Używanie obiektu daty Powershell, jak uzyskać numer dnia tygodnia, od 0 do 6, gdzie 0 oznacza niedzielę, a 6 - sobotę. Wiem, że mogę uzyskać nazwę dnia z poniższym kodem, ale jak mogę uzyskać numer, ponieważ nie ma DayNumberOfWeek lub równoważnej właściwości?Jak uzyskać numer dnia tygodnia za pomocą Powershell?

(Get-Date).DayOfWeek 

Przypuszczam, że mógłbym użyć nazwy dzień od kodu powyżej w instrukcji switch przekonwertować go na liczbę, ale które nie wydają się być bardzo wymowny.

+1

Po prostu dla FYI; 0 to poniedziałek w niektórych krajach i niedziela w innych krajach. To zależy od kultury (ustawień regionalnych) komputera. –

Odpowiedz

10

tak:

(get-date).DayOfWeek.value__ 

Proponuję na przyszłość w celu zbadania jakie właściwości obiektu w ten sposób:

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

Tak po prostu odkryłem to sam - po prostu potrzebne, aby przejść do następnego poziomu. Pozdrawiam mimo wszystko. –

+0

Właśnie czekałem na wygaśnięcie limitu czasu. –

16

dobrze, nieruchomość DzienTygodnia z DateTime nie jest ciągiem, ale raczej enum DzienTygodnia, więc najkrótsza odpowiedź jest prawdopodobnie

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

Albo

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

Bill

+0

* 'powershell [Int] (Get-Date) .DayOfWeek' * działa (zwraca" 1 "dla" Monday "). Ale próbowałem * 'powershell [Int] [DayOfWeek]" Środa "' *, dokładnie tak, jak to napisałeś, ale powershell pokazuje błąd: ** "Nieoczekiwany token" Środa "w wyrażeniu lub oświadczeniu." ** –

+0

Uruchom z wiersza polecenia PowerShell, a nie z wiersza polecenia cmd.exe (tzn. Nie zamawiaj polecenia 'powershell'). (Dlaczego uważasz, że nie musisz tego robić?). –

Powiązane problemy