LDAP timestamp to date

100-nanosecond intervals since 1601-01-01T00:00:00 UTC. This is the format of Active Directory attributes like lastLogon and pwdLastSet.

Active Directory stores times like lastLogon, pwdLastSet, badPasswordTime, and accountExpires as an 18-digit count of 100-nanosecond intervals since January 1, 1601: the Windows FILETIME format. Paste one below to convert it to a readable date in your timezone and UTC.

Detected: LDAP / Windows FILETIME

Your timezone

UTC · GMT+00:00 · UTC

Mon, Jan 01, 2024, 02:00:00 PM

Common formats

UTC

Mon, Jan 01, 2024, 02:00:00 PM

ISO 8601

2024-01-01T14:00:00.000Z

Unix (seconds)

1704117600

Unix (millis)

1704117600000

Relative

World clock

Los Angeles PST

Mon, Jan 01, 2024, 06:00:00 AM

GMT-08:00

Chicago CST

Mon, Jan 01, 2024, 08:00:00 AM

GMT-06:00

New York EST

Mon, Jan 01, 2024, 09:00:00 AM

GMT-05:00

London GMT

Mon, Jan 01, 2024, 02:00:00 PM

GMT+00:00

Paris CET

Mon, Jan 01, 2024, 03:00:00 PM

GMT+01:00

Kolkata IST

Mon, Jan 01, 2024, 07:30:00 PM

GMT+05:30

Shanghai CST

Mon, Jan 01, 2024, 10:00:00 PM

GMT+08:00

Tokyo JST

Mon, Jan 01, 2024, 11:00:00 PM

GMT+09:00

Sydney AEDT

Tue, Jan 02, 2024, 01:00:00 AM

GMT+11:00

Do it with the API

curl https://parsetime.dev/api/t/133485912000000000?format=ldap

The same conversion as JSON: no key, no signup, permissive CORS. Try this call or read the API docs.

Common questions

Why does the count start in 1601?
1601 was the start of the 400-year Gregorian calendar cycle in progress when Windows NT was designed, which made the leap-year arithmetic clean. Every FILETIME, and so every AD timestamp, counts from it.
What do 0 and 9223372036854775807 mean in Active Directory?
They're sentinels, not times: 0 usually means “never” (an account that never logged on) and 9223372036854775807 (the largest 64-bit integer) means “never expires”. This converter rejects both rather than show a misleading date.
How do I convert an LDAP timestamp in PowerShell?
[DateTime]::FromFileTimeUtc($value). FILETIME and the AD Integer8 format are the same encoding. To go the other way, use $date.ToFileTimeUtc().
Is this the same as the yyyyMMddHHmmss.0Z format LDAP also uses?
No. That's GeneralizedTime, a readable string form used by attributes like whenCreated. The 18-digit integer form (Integer8) is the one this tool decodes; GeneralizedTime you can paste into the main parsetime converter as-is.

Related converters