Kleine Tipps für Zwischendurch – eine WeekdayName-Funktion

Bei VBScript gib es mit WeekdayName eine praktische Funktion, die eine Zahl in den korrespondierenden Wochentag konvertiert. Damit lassen sich z.B. die Wochentage von Sonntag bis Samstag ausgeben:

Option Explicit
Dim i
For i = 1 To 7
   WScript.Echo(WeekDayName(i))
Next

Bei der PowerShell ist das nicht ganz so einfach möglich, da es kein direktes Pendant zur WeekdayName-Funktion gibt. Die folgende Funktion bildet das Verhalten nach, in dem sie vom aktuellen Datum ausgehend die Differenz zum nächsten Sonntag aufaddiert und damit die übergebene Anzahl an Tage immer zu einem Sonntag addiert:

function Get-WeekdDayName
{
param ([Parameter(ValueFromPipeline=$true)][int] $Day)
process { (Get-Date).AddDays(7-(Get-Date).DayOfWeek.value__).AddDays($Day).DayOfWeek }
}

Die Wochentage erhält man nun etwas schöner als noch bei VBScript, z.B.

1..7 | Get-WeekDayName

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s