200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C#中DateTime.Ticks属性及Unix时间戳转换

C#中DateTime.Ticks属性及Unix时间戳转换

时间:2024-07-21 14:44:53

相关推荐

C#中DateTime.Ticks属性及Unix时间戳转换

DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒)。

Unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

1秒 = 1000毫秒

1毫秒 = 1000微妙

1微秒 = 1000纳秒

因此, 1毫秒 = 10000纳秒

2.DateTime变量与时间戳的相互转换

在实际使用中经常需要精确到毫秒,因此这里下面两个函数的使用单位都是“毫秒”,若要转换成“秒”,可以再除以或乘以1000。

/// <summary>/// 获取1970-01-01至dateTime的毫秒数/// </summary>public long GetTimestamp(DateTime dateTime){DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);return (dateTime.Ticks - dt1970.Ticks) / 10000;}/// <summary>/// 根据时间戳timestamp(单位毫秒)计算日期/// </summary>public DateTime NewDate(long timestamp){DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);long t = dt1970.Ticks + timestamp * 10000;return new DateTime(t);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。