【问题标题】:How do I get epoch time in C#? [duplicate]如何在 C# 中获取纪元时间? [复制]
【发布时间】:2023-03-10 12:25:01
【问题描述】:

可能重复:
How do you convert epoch time in C#?

我试图弄清楚如何在 C# 中获取纪元时间。类似于本网站给出的时间戳:http://www.epochconverter.com/

DateTime 有方法吗?

【问题讨论】:

标签: c# datetime epoch


【解决方案1】:
TimeSpan t = DateTime.UtcNow - new DateTime(1970, 1, 1);
int secondsSinceEpoch = (int)t.TotalSeconds;
Console.WriteLine(secondsSinceEpoch);

【讨论】:

  • 当然,如果你相信纪元是 1970-01-01T00:00:00,就像任何 Unix 系统一样。但是 .NET 纪元是 0001-01-01T00:00:00,也就是众所周知的 DateTime.MinValue。
  • 当然,但是很多应用程序仍然使用 1970 年的时代,例如 OAuth。
  • 不应该是毫秒吗?最后少了几个零
  • 来自 .Net 4.6 及更高版本使用 DateTimeOffset.Now.ToUnixTimeSeconds()
  • 在第一个字符串中,Epoch 时间是由构造函数创建的,它返回未指定类型的 DateTime 对象,因此请改用new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc) 以避免从 Utc 中减去未指定的日期时间。
猜你喜欢
  • 2022-12-16
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 1970-01-01
  • 2018-01-17
  • 2014-09-25
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多