private static readonly DateTimeOffset UtcEpoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, 0, TimeSpan.Zero);
public static void Main()
DateTimeOffset time = DateTimeOffset.UtcNow;
Console.WriteLine("Ticks : "+time.Ticks);
Console.WriteLine("Long : "+DateTimeOffsetToLong(time));
private static long DoubleToLong(double value, int scale = 5)
return (long)(value * Math.Pow(10.0, (double)scale));
private static long DateTimeOffsetToLong(DateTimeOffset datetime)
return (datetime - UtcEpoch).Ticks / 10L;