2013-02-27 7 views
6

Mit einem Powershell-Datum-Objekt, wie erhalten Sie die Tag-Nummer der Woche, 0 bis 6, wo 0 wäre Sonntag und 6 wäre Samstag. Ich weiß, dass ich den Tag-Namen mit dem Code unten erhalten kann, aber wie bekomme ich die Nummer, da es keine DayNumberOfWeek oder äquivalente Eigenschaft gibt?Mit Powershell erhalten Sie die Wochentagsnummer?

(Get-Date).DayOfWeek 

Ich nehme ich den Tag Namen aus dem obigen Code in einer switch-Anweisung verwenden, könnte es in eine Zahl zu konvertieren, aber das scheint nicht sehr eloquent zu sein.

+1

Nur FYI; In einigen Ländern ist der Montag der Montag und in anderen der Sonntag. Es hängt von der Kultur (regionale Einstellungen) des Computers ab. –

Antwort

10

wie folgt aus:

(get-date).DayOfWeek.value__ 

ich für die Zukunft vorschlagen, welche Eigenschaften ein Objekt auf diese Weise zu untersuchen:

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

Ja, ich habe es gerade selbst entdeckt - ich musste nur noch eine Ebene tiefer bohren. Prost sowieso. –

+0

War nur auf das Zeitlimit gewartet. –

16

Nun, die DayOfWeek Eigenschaft eines Datetime ist kein String, sondern ein DayOfWeek enum, so dass die kürzeste Antwort ist wahrscheinlich

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

Oder

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

Bill

+0

* 'Powershell [Int] (Get-Date) .DayOfWeek' * funktioniert (gibt" 1 "für" Monday "zurück). Aber, ich habe versucht * 'Powershell [Int] [DayOfWeek]" Mittwoch "' *, genau so, wie Sie es geschrieben haben, aber Powershell zeigt einen Fehler: ** "'Unerwartetes Token' Mittwoch 'in Ausdruck oder Aussage." '** –

+0

Führen Sie die Eingabe über die PowerShell-Eingabeaufforderung aus, nicht über die Eingabeaufforderung cmd.exe (dh, den Befehl nicht mit 'powershell' voranstellen). (Warum denkst du, dass du das tun musst? Mein Beispiel hat es nicht.) –

Verwandte Themen