TOOLTIKI Lovable tool, really free
Date & time Timestamps

LDAP timestamp converter

Value
Reading it as
UTC date and time 2023-11-14T22:13:20Z
Readable Tue, 14 Nov 2023 22:13:20 GMT
Unix seconds 1,700,000,000
Unix milliseconds 1,700,000,000,000
Windows FILETIME 133,444,736,000,000,000
.NET ticks 638,355,968,000,000,000
Excel serial 45,244.925926
Mac HFS+ seconds 3,782,844,800
Note
Local · zero usually means “never”, not 1601
Advertisement
320 × 100

Active Directory stores times as Windows FILETIME — 100-nanosecond intervals since 1601. This decodes `lastLogonTimestamp`, `pwdLastSet`, `accountExpires` and the rest.

How to use the ldap timestamp converter

1 Paste the value. Every other epoch is shown alongside the date.
2 Change what it is being read as if the number is from a different system.
3 All times are UTC — convert to your own zone separately if you need local time.

The sentinel values matter more than the arithmetic here. A `pwdLastSet` of 0 means the user must change their password at next logon, not that it was set in 1601. An `accountExpires` of 0 or 9223372036854775807 both mean the account never expires — two different sentinels for the same meaning, which is a known inconsistency in the schema. And `lastLogonTimestamp` is deliberately imprecise: it is only replicated between domain controllers every 9 to 14 days by default, so a value that looks a fortnight stale usually is not evidence of anything. The precise attribute is `lastLogon`, which is not replicated at all and therefore differs per controller.

Questions

The user must change their password at next logon. It is a sentinel, not a date in 1601.

Microsoft — Active Directory time attributes
Advertisement
300 × 250
Was this tool any good?
INTERNAL SIGNAL ONLY · WE USE IT TO FIND TOOLS WORTH REBUILDING