Datum und Zeit in verschiedenen Formaten ausgeben

Powershell zeigt per „Get-Date“-Commandlet das aktuelle Datum inklusive der Uhrzeit in der Konsole an, aber was, wenn Datum und / oder Zeit in einem anderen Format angezeigt werden sollen?
Da Powershell das .Net Framework nutzt, welches vorgegebene Formate (Länder- und Sprachabhängig) anbietet ist auch dies einfach nutzbar.

Hier ein paar Beispiele:

Was Aufruf Beispiel
Deutsches Datum, lang Montag, 21. September 2015
Deutsches Datum, kurz 21.09.2015
Deutsche Uhrzeit 13:45:30
Deutsches Datum mit Uhrzeit 21.09.2015 13:45
Sortierbares Datum mit Zeit 2015-09-21T13:44:56
Individuelles Format 2015-09-21 13:47:49

Datum und Zeit in das WMI-Format (DTMF) umwandeln

Die WMI (Windows Management Instrumentation) verwendet ein eigenes Format für Datum und Uhrzeit, das sogenannte DTMF.
Das folgende Skript konvertiert das lokale Datum mit der Zeit in das WMI-Format und gibt beide Werte auf der Konsole aus.

Datum des kommenden Montags mit Powershell ermitteln

Für ein Skript welches automatisiert Unterlagen vorbereitet habe ich eine Funktion geschrieben, welche mir das Datum des kommenden / nächsten Montags ermittelt.

Bessere Lösungen?
Dafür gibt es sicher tolle und viel kürzere Lösungen, oder!? Bitte her damit! 🙂

Datetime zu Unix-Timestamp umwandeln

Heute musste ich mir eine Funktion für Visual Basic Script schreiben, welche mir das aktuelle Datum und die Uhrzeit in einen Unixtimestamp konvertiert.

VB-Script:

Unix-Timestamp in lokale DateTime konvertieren

Bei Serverdiensten, die auf einem Linux-Betriebssystem laufen, wird häufig das Datum und die Uhrzeit im Unix-Timestamp-Format protokolliert. Dieser Zeitstempel zählt einfach jede vergangene Sekunde seit dem 1. Januar 1970 (UTC-Zeit). Hinzu kommt noch, dass viele Server nicht die Zeitzonen verwenden, sondern die UTC-Zone.

Die folgende Zeile nimmt nun die aktuelle lokale Zeitzone und addiert seit dem 01.01.1970 den Timestamp hinzu.

Die Umrechnung sieht dann wie folgt aus:

„1546843450“ ist in diesem Beispiel der Timestamp.

Wer das Datum und die Uhrzeit ohne Umrechnung in die lokale Zeit machen möchte, der kann die o.g. Zeile um „.ToUniversalTime()“ am Ende erweitern und erhält UTC.

Dateien löschen die älter als n Tage alt sind

Mein Beitrag vom 25.01.2008 „Dateien nach Datum löschen“ zeigt beispielhaft, wie alle Dateien gelöscht werden können, die ein bestimmtes Datum überschritten haben.
Heute möchte ich zeigen, wie die Dateien gelöscht werden können, die älter als n Tage sind.

Und so geht das…

Das Beispiel erzeugt zuerst die Variable „Heute“ welche das aktuelle Datum enthält. Danach Sucht es alle Dateien aus dem Verzeichnispfad „T:Ablage“ und deren Unterobjekte. Anschließend wird jedes Objekt durchlaufen und überprüft, ob das Änderungsdatum älter dem Datum minus 10 Tagen ist. Wenn ja, so wird gelöscht, wenn nicht, so wird mit dem nächsten Objekt fortgefahren.

Zusätzliches:
Mit Hilfe von „-WhatIf“ hinter dem Remove-Item wird der Löschvorgang nur simuliert und nicht wirklich ausgeführt, was für Testzwecke sehr nützlich ist.
Weiter könnte hier statt dem „Remove-Item“ auch etwas anderes passieren, z.B. das Verschieben oder Komprimieren der Dateien.

Verzeichnis mit aktuellem Datum erstellen

Für Protokolle oder Sicherungen benötigt man immer wieder Verzeichnisse die täglich neu angelegt werden und die das aktuelle Datum enthalten.
Das folgende Skript legt ein Verzeichnis im folgenden Format an: Backup_Jahr-Monat-Tag, also z.B. „Backup_2009-02-10“

Batch-Skript:

Erstellungsdatum einer Datei auslesen

Möchte man per Php das Datum auslesen, wann eine Datei erstellt wurde, so kann man dies wie folgt realisieren…

Änderungsdatum einer Datei auslesen

Möchte man per Php das Datum der letzen Änderung („last modified„) einer Datei auslesen, so kann man dies wie folgt realisieren…