Ruby的Time类可以代表什么样的时间范围?

时间:2009-03-19 18:37:27

标签: ruby datetime time

过去时间最远,未来最远可以代表什么?

它是绝对时刻,还是距离现在的时间距离?

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

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

更新

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

2 个答案:

答案 0 :(得分:2)

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

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

听起来掩盖下有一个“C”时间实现(整数可以根据操作系统/处理器/编译器进行签名或取消签名):这意味着边界取决于系统。

但是如果你需要处理很久以前的日期,我想你不会真的需要“时间”部分而且可以使用日期!?

答案 1 :(得分:2)

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