
最常用的Unix时间戳(TimeStamp)是指格林尼治时间1970年1月1日0时(北京时间1970年1月1日8时)起至现在的总秒数(10位)或总毫秒数(13位)。
实现代码:
///
/// 时间工具类
///
public static class DateTimeUtil
{
///
/// 时间戳计时开始时间
///
private static DateTime timeStampStartTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
///
/// DateTime转换为10位时间戳(单位:秒)
///
/// DateTime
/// 10位时间戳(单位:秒)
public static long DateTimeToTimeStamp(DateTime dateTime)
{
return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalSeconds;
}
///
/// DateTime转换为13位时间戳(单位:毫秒)
///
/// DateTime
/// 13位时间戳(单位:毫秒)
public static long DateTimeToLongTimeStamp(DateTime dateTime)
{
return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalMilliseconds;
}
///
/// 10位时间戳(单位:秒)转换为DateTime
///
/// 10位时间戳(单位:秒)
/// DateTime
public static DateTime TimeStampToDateTime(long timeStamp)
{
return timeStampStartTime.AddSeconds(timeStamp).ToLocalTime();
}
///
/// 13位时间戳(单位:毫秒)转换为DateTime
///
/// 13位时间戳(单位:毫秒)
/// DateTime
public static DateTime LongTimeStampToDateTime(long longTimeStamp)
{
return timeStampStartTime.AddMilliseconds(longTimeStamp).ToLocalTime();
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)