TOOLTIKI Lovable tool, really free
Date & time Timestamps

Date to .NET ticks

Value
Direction
Epoch system
Result 638396640000000000
Readable Mon, 01 Jan 2024 00:00:00 GMT
ISO 8601 2024-01-01T00:00:00.000Z
JavaScript Date Mon Jan 01 2024 00:00:00 GMT+0000 (Coordinated Universal Time)
Date only 2024-01-01
Time only (UTC) 00:00:00
Unix seconds 1,704,067,200
Unix milliseconds 1,704,067,200,000
Windows FILETIME 133,485,408,000,000,000
.NET ticks 638,396,640,000,000,000
Excel serial 45,292
Mac HFS+ seconds 3,786,912,000
Note
Local · 621355968000000000 is the Unix offset
Advertisement
320 × 100

Converts a date into .NET `DateTime.Ticks` — the number of 100-nanosecond intervals since midnight on 1 January of year 1. Paste a date and the tick value comes back.

How to use the date to .net ticks

1 Paste a date — ISO 8601, "2024-01-01 12:00:00", or the string a JavaScript Date prints.
2 Switch the direction to go the other way — the same page converts both ways.
3 All times are UTC — convert to your own zone separately if you need local time.

A .NET tick is 100 nanoseconds and the count starts at 0001-01-01T00:00:00, which is why the numbers are so large: 2024 is around 638 quadrillion ticks. The unusual epoch is a deliberate design choice — starting at year one means every representable date is a positive number, so DateTime never needs a sign and comparisons are simple integer comparisons.

The conversion people usually want is to or from Unix time, and the offset is a fixed constant: 621,355,968,000,000,000 ticks between 0001-01-01 and 1970-01-01. So Unix seconds are (ticks - 621355968000000000) / 10000000. That constant is worth recognising — if a number looks like a tick value and subtracting it gives something sensible, you have found a .NET timestamp.

One thing ticks do not carry is a time zone. A DateTime has a separate Kind property saying whether it is UTC, local or unspecified, and the ticks are the same number regardless — which is the source of a great deal of confusion when a value crosses a process boundary and the Kind is lost. DateTimeOffset exists precisely because of that, and storing one is almost always the better choice.

Questions

100 nanoseconds. There are ten million in a second.

.NET — DateTime.Ticks.NET — DateTimeOffset
Advertisement
300 × 250
Was this tool any good?
INTERNAL SIGNAL ONLY · WE USE IT TO FIND TOOLS WORTH REBUILDING