找出一个有效的值范围似乎非常困难time_t
。
它在某些 32 位平台上,在大多数 64 位平台上,因此可以很容易地设置为LONG_MAX
. 但是,尝试使用该值并不能真正正常工作。例如,您不能将其传递给localtime
并将其更改为struct tm
.
一个对值进行二分搜索的快速测试程序告诉我它是 67768036191676799。这对应于年末 2147483647,因此作为一个值是有意义的。但是,这是在任何地方指定的吗?对于最大可用 time_t,是否有任何合理的、独立于平台的值?