c#DateTime与unix时间戳互相转换
因为七牛的私库下载路径中的超时时间需要用到Unix时间戳,特此记录一下
Unix时间戳( Unix timestamp):从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
public class UnixTimeUtil
{
/// <summary>
/// 将dateTime格式转换为Unix时间戳
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static int DateTimeToUnixTime(DateTime dateTime)
{
return (int)(dateTime - TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1))).TotalSeconds;
}
/// <summary>
/// 将Unix时间戳转换为dateTime格式
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
public static DateTime UnixTimeToDateTime(int time)
{
if (time < 0)
throw new ArgumentOutOfRangeException("time is out of range");
return TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)).AddSeconds(time);
}
}
还可以这样子求Unix时间戳:
(DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
参考:
https://blog.csdn.net/smartsmile2012/article/details/53736337

浙公网安备 33010602011771号