ASP.NET: Get milliseconds since 1/1/1970

I have an ASP.NET, VB.NET Date, and I'm trying to get the number of milliseconds since January 1st, 1970. I tried looking for a method in MSDN, but I couldn't find anything. Does anyone know how to do this?


You can subtract any two DateTime instances and get TimeSpan and TotalMilliseconds would give you total milliseconds. Sample below.

    DateTime dt1970 = new DateTime(1970, 1, 1);
    DateTime current = DateTime.Now;//DateTime.UtcNow for unix timestamp
    TimeSpan span = current - dt1970;

one liner

//DateTime.MinValue is 01/01/01 00:00 so add 1969 years. to get 1/1/1970

Starting with .Net 4.6, The method ToUnixTimeMilliseconds provides more accurate solution.

From DateTimeOffset


From DateTime

new DateTimeOffset(dateTime).ToUnixTimeMilliseconds()


Alternatively, you can use the Ticks property and avoid construction of a temporary object:

long epochTime = (DateTime.UtcNow.Ticks - 621355968000000000) / 10000;

However, this isn't entirely


DateTime d = new DateTime(1970, 01, 01);
var temp = d.Ticks; // == 621355968000000000

This will provide the UNIX Epoch in milliseconds. (Respects UTC time instead of your local time)

Split(DateTime.UtcNow.Subtract(DateTime.MinValue.AddYears(1969)).TotalMilliseconds(), ".", 2)(0)

Need Your Help

Deciphering C++ template error messages

c++ templates compiler-errors

I'm really beginning to understand what people mean when they say that C++'s error messages are pretty terrible in regards to templates. I've seen horrendously long errors for things as simple as a