//----------------------------------------------------------------------- // // Copyright (c) 2016 Mapbox. All rights reserved. // //----------------------------------------------------------------------- namespace Mapbox.Utils { using System; using System.Collections.Generic; using System.Text; /// /// A set of Unix Timestamp utils. /// public static class UnixTimestampUtils { // http://gigi.nullneuron.net/gigilabs/converting-tofrom-unix-timestamp-in-c/ /// /// Convert from DateTime to Unix timestamp /// /// /// public static double To(DateTime date) { return date.Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; } /// /// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromSeconds to caluclate offset since epoch 0 /// /// /// public static DateTime From(double timestamp) { return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromSeconds(timestamp)); } /// /// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromSeconds to caluclate offset since epoch 0 /// /// /// public static DateTime FromMilliseconds(double timestamp) { return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromMilliseconds(timestamp)); } /// /// Convert from Unitx timestamp to DateTime. Uses TimeSpan.FromTicks to caluclate offset since epoch 0 /// /// /// public static DateTime From(long timestamp) { return new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).Add(TimeSpan.FromTicks(timestamp)); } } }