为了账号安全,请及时绑定邮箱和手机立即绑定

如何在C#中获取unix时间戳

如何在C#中获取unix时间戳

C#
达令说 2019-08-30 16:07:04
我已经浏览过stackoverflow,甚至看了一些建议的问题,似乎没有人回答,你如何在C#中获得unix时间戳?
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

从.NET 4.6开始,就有了DateTimeOffset.ToUnixTimeSeconds()。


这是一个实例方法,因此您需要在实例上调用它DateTimeOffset。您也可以投射任何实例DateTime,但要注意时区。


要获取当前时间戳:


DateTimeOffset.UtcNow.ToUnixTimeSeconds()

要从以下位置获取时间戳DateTime:


DateTime foo = DateTime.UtcNow;

long unixTime = ((DateTimeOffset)foo).ToUnixTimeSeconds();


查看完整回答
反对 回复 2019-08-30
?
翻阅古今

TA贡献1780条经验 获得超5个赞

你也可以使用Ticks。我正在为Windows Mobile编码,所以没有完整的方法。我无法使用TotalSeconds。


long epochTicks = new DateTime(1970, 1, 1).Ticks;

long unixTime = ((DateTime.UtcNow.Ticks - epochTicks) / TimeSpan.TicksPerSecond);

要么


TimeSpan epochTicks = new TimeSpan(new DateTime(1970, 1, 1).Ticks);

TimeSpan unixTicks = new TimeSpan(DateTime.UtcNow.Ticks) - epochTicks;

double unixTime = unixTicks.TotalSeconds;


查看完整回答
反对 回复 2019-08-30
  • 3 回答
  • 0 关注
  • 709 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信