Die Ticks als Zeit­ein­heit in der PowerS­hell

Im letz­ten Blog­ein­trag haben wir uns die Uhr­zeit ange­schaut und die mög­li­chen For­ma­tie­run­gen.

In die­sem Blog­ein­trag schauen wir uns das kleinste Zei­t­e­le­ment, die Ticks, an.

Ein ein­zel­ner Tick ent­spricht 100 Nano­se­kun­den, das ent­spricht einer zehn­mil­lio­nen­s­tel Sekunde.

So sehen wir die aktu­elle Tick-​​Zeit. Gezählt wird ab 01.01.0000 um 00:00:00

(Get-Date).Ticks

D.h. seit Christi Geburt sind ca. 63,6 Tril­lio­nen Nano­se­kun­den ver­gan­gen.

Für Scripte span­nen­der ist die soge­nannte File­Time. Auch die­ser Zeit­wert wird in Ticks, also in 100 Nano­se­kun­den Schrit­ten gezählt, star­tet aber erst spä­ter. Und zwar am 01.01.1601.

(Get-Date).ToFileTime()

Der Weg zurück von File­Time in das nor­male Datums­for­mat geht anders:

[DateTime]::FromFileTime(131296540203012408)

Das NTFS Datei­sys­tem nutzt die File­Time. D.h. hin­ter jedem Zeits­tem­pel einer Datei steht ein auf 100 Nano­se­kun­den genauer Wert (anders als bei FAT. FAT ist nur auf eine Sekunde genau).

Auch im Active Direc­tory wer­den die Anmel­de­da­ten im File­Time For­mat abge­legt.

Umge­rech­net wird es wie­der mit DateTime:

[DateTime]::FromFileTime((Get-ADUser admi­nis­tra­tor –Pro­per­ties lastlogon).lastlogon)

Und am Schluss noch ein­mal alles zusam­men. Jetzt bitte im For­mat Tag.Monat.Jahr anzei­gen:

[DateTime]::FromFileTime((Get-ADUser admi­nis­tra­tor –Pro­per­ties lastlogon).lastlogon).tostring(„dd.MM.yyyy“)

 

Eine kleine Anek­dote zum Schluss über den UNIX Time Stamp:

Auch UNIX zählt in 100 Nano­se­kun­den Schrit­ten, aller­dings ab dem Datum 01.01.1970. Unter UNIX wurde aber gespart und der Wert ist ein 32-​​bit Inte­ger Wert. Das heißt am 19. Januar 2038 läuft der Zäh­ler über. Bis dahin muss die Linux Welt den Zäh­ler abge­löst haben.

In der Win­dows Welt ist es ein 64-​​bit Inte­ger Wert. Hier haben wir keine Pro­bleme bis weit über das Jahr 9999 hin­aus.

Im nächs­ten Blog­ein­trag sehen wir uns an, wie ich exakt den Anfang und Ende eines Monats erstel­len kann.

Was den­ken Sie?