c#DateTime与unix时间戳互相转换
因为七牛的私库下载路径中的超时时间需要用到Unix时间戳,特此记录一下
Unix时间戳( Unix timestamp):从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步