【问题标题】:Convert Human readable date into an epoch time stamp将人类可读的日期转换为纪元时间戳
【发布时间】:2012-11-12 21:35:17
【问题描述】:

我正在处理一个 C# 项目,其中我有一个 2012-11-24 15:35:18 格式的日期/时间,我需要将其转换为一个纪元时间戳。

我在 Google 上找到的所有内容都是将纪元时间戳转换为人类可读的,但我需要反过来做。

感谢您提供的任何帮助。

【问题讨论】:

    标签: c# timestamp epoch


    【解决方案1】:

    我找到了这个here

    epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
    

    您应该可以输入您想要的时间,而不是 DateTime.Now。

    【讨论】:

    • 谢谢,我查看了那个网站,没有注意到底部所有不同的代码示例
    【解决方案2】:

    您没有说出您的确切用例,但标准 .NET DateTime 有一个 Ticks 属性,其定义为:

    这个属性的值代表100纳秒的数量 自 0001 年 1 月 1 日午夜 12:00:00 以来经过的时间间隔, 它代表 DateTime.MinValue。它不包括数量 可归因于闰秒的滴答声。

    这本质上是一个基于纪元的时间,如果它符合您的需要的话。否则,使用此值,您应该能够轻松计算转换为另一个纪元计时方法。

    【讨论】:

      【解决方案3】:

      您需要使用 TryParse:

      string input = "2012-11-24 15:35:18";
      DateTime dateTime;
      if (DateTime.TryParse(input, out dateTime))
      {
          ulong epoch = (dateTime.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-26
        • 1970-01-01
        • 2021-03-30
        • 2021-02-19
        • 2012-08-16
        • 2014-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多