.NET ticks converter
A .NET `DateTime.Ticks` value counts 100-nanosecond intervals since 1 January 0001. The number is large. About 638 quadrillion for a current date.
How to use the .net ticks converter
Counting from year one makes .NET ticks the odd one out and produces values around 6.4 × 10¹⁷, which exceeds JavaScript’s safe integer range. A tick value pasted into JavaScript as a Number loses precision in the last two digits. Use BigInt or strings. The other thing worth knowing is that DateTime carries a Kind; Utc, Local or Unspecified, which is not part of the tick value, so two identical tick counts can mean different instants depending on the Kind of the object they came from. That is a genuine design wart and the reason DateTimeOffset exists and is generally the better type.
Questions
DateTime was defined to cover the whole Gregorian era, so the origin is 0001-01-01. It makes the numbers large.
100 nanoseconds, the same unit Windows FILETIME uses. Only the epoch differs.
Not as a Number — it exceeds the safe integer range. Use BigInt or keep it as a string.
No. DateTime.Kind carries that separately, which is why two equal tick counts can mean different instants. DateTimeOffset avoids the ambiguity.
No, everything here is UTC. Timestamps are stored in UTC precisely so they are unambiguous; converting to a local zone is a separate step and needs to know the zone.