2

不久前,我深入研究了Ruby 类时间类之间的差异。在四处询问之后,我得出的结论是没有充分的理由使用 DateTime,永远。

这个问题本质上与上面提出的问题相反:

DateTime当 Date 和 Time 可以做得很好,更好的时候,为什么最初被添加到 stdlib 中?谁实际使用 DateTime(以及为什么)以使其继续在 stdlib 中占有一席之地?

4

1 回答 1

1

DateTime 作为 Rails 的东西被普及,它被创建为环绕DATETIME数据库中的等效列。这些列比日期范围要灵活得多Time,因此需要一种新类型来捕获所有可能的值。在 Ruby 1.8.6 和 1.8.7 的早期版本中,仅限于标准的 1901-2038 范围,内部表示为无符号长(32 位)数字。

现在差异大多很小,尽管在 Rails 中大多数时间计算方法只是 DateTime。

我真的不会担心您使用哪个 DateTime 或 Time ,除非您有特别好的理由更喜欢其中一个。如果您从 Rails 获取 DateTime 对象,请顺其自然并使用它们。如果您正在构建自己的 Ruby 应用程序,那么您可以做任何您想做的事情。

于 2013-02-11T03:55:59.023 回答