【问题标题】:What is the range of times that Ruby's Time class can represent?Ruby 的 Time 类可以表示的时间范围是多少?
【发布时间】:2009-03-19 18:37:27
【问题描述】:

可以表示的过去和未来最远的时间?

是时间上的绝对瞬间,还是与现在时间上的距离?

我在docs for the Time class 中找不到它。

它取决于系统吗?如果是这样,我如何在我的代码中访问它?

更新

经过一些实验,我发现它是从过去大约 108 年到未来大约 29 年。仍然想知道它是否依赖于系统。

【问题讨论】:

    标签: ruby datetime time


    【解决方案1】:

    DateTime(在 Date 库中,包含在 ruby​​ 中)可以追溯到公元前 4713 年 1 月 1 日,并且比您可能需要的更远。

    【讨论】:

      【解决方案2】:

      “时间在内部存储为自纪元 1970 年 1 月 1 日 00:00 UTC 以来的秒数和微秒数。在某些操作系统上,此偏移量允许为负数。”

      很明显,这是一个绝对时间,与现在无关

      听起来有一个“C”时间实现在掩护下(整数可以有符号或无符号,具体取决于操作系统/处理器/编译器):这意味着边界取决于系统。

      但是,如果您需要处理很久以前/很久以后的日期,我想您将不需要“一天中的时间”部分并且可以使用 Date !?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        • 2020-02-21
        • 2012-04-20
        • 2013-12-03
        • 2010-12-21
        相关资源
        最近更新 更多