C#中DateTime.Ticks属性及Unix时间戳转换
生活随笔
收集整理的這篇文章主要介紹了
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); }總結
以上是生活随笔為你收集整理的C#中DateTime.Ticks属性及Unix时间戳转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dz插件-Discuz插件-免费Disc
- 下一篇: 移动端H5终端适配方案