- //获取时间戳
- private long GetTimeTicks()
- {
- TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0);
- return Convert.ToInt64(ts.TotalSeconds);
- }
- //转换时间戳到时间
- public DateTime TransDtFromStamp(long ts)
- {
- DateTime dtStart = new DateTime(1970, 1, 1, 0, 0, 0);
- TimeSpan dtStamp = TimeSpan.FromSeconds(ts);
- return dtStart.Add(dtStamp);
- }
复制代码
有了上面两个函数计算时间差:
- //获取当前时间戳
- long ticksNow = GetTimeTicks();
- //时间戳 1695744000 => 2023-09-27 00:00:00
- long ticksTmp = 1695744000;
- long ticksLost = ticksNow - ticksTmp;
- //计算时间差
- TimeSpan ts = TimeSpan.FromSeconds(ticksLost);
复制代码 注意东八区区时是UTC+8.0,所以如果要得到中国当前时间,都是+8个小时的,计算的话保持一致就无需。
|