【问题标题】:Different time formats in computing?计算中的不同时间格式?
【发布时间】:2022-03-07 21:14:18
【问题描述】:

我正在组合一个函数,可以轻松地在计算中找到的标准时间格式之间进行转换。

以下是我的一些想法:

  • Unix 时间(自 1970 年 1 月 1 日午夜开始的秒数)
  • JavaScript 中的 Unix 时间(自 1970 年 1 月 1 日午夜以来的毫秒数)
  • MySQL 日期时间 (YYYY-MM-DD HH:MM:SS)

还有哪些其他标准格式?网上有没有这个清单?

【问题讨论】:

    标签: datetime time


    【解决方案1】:

    Common Lisp 纪元,即从 1900-01-01 00:00:00 UTC 开始的秒数。 此外,纯整数也很常见:2012-07-10 -> 20120710U 甚至二进制编码的小数(至少在 64 位系统上):2012-07-12 -> 0x0200010200070102ULL

    后一种解决方案的优势显然是您可以非常轻松地在打印和内部表示之间来回切换,并且关系(<>==)也可以工作。您还可以说2012-06-002012-00-01 之类的内容(分别省略月份或月份)。

    缺点是当你想增加 1 天时,你需要更多的魔法。另一方面,可以以有意义的方式定义 add-1-month,这是您无法使用 epoch 表示来实现的。

    编辑
    想出了更多:

    • 如果您进行与日历无关的计算,您可能会求助于儒略日期 2451545 大约是 2000-01-01 12:00:00 UTC
    • Matlab 在公历中使用自 0000-01-01 以来的小数天数

    深入了解单个软件特定日期表示的列表,您可能会写满一本书。

    【讨论】:

      【解决方案2】:

      http://en.m.wikipedia.org/wiki/ISO_8601 - ISO 日期格式。

      但是,大多数语言已经为这些东西提供了标准实用程序......你确定你没有不必要地这样做吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-26
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-10
        • 1970-01-01
        相关资源
        最近更新 更多