//-----------------------------------------------------------------------
//
// 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));
}
}
}