我发现我不知道如何以Unix时间戳的形式储存1970年1月1日之前的日期。因为这个日期是Unix“时代”,所以这并不奇怪。
但是,即使它并不是为此而设计的,我仍然希望以Unix格式存储过去很久以前的日期。
我有我的原因。
那么我的问题是:如何使Unix时间戳包含“无效”但仍有效的日期?储存负数秒是否可行?我们甚至可以在Unix时间戳中存储负数秒吗?我的意思是它不是无符号的吗?
另外,如果我没错的话,我只能储存到1901.12.13 20:45:52
,通过任何方式能将其推广到更早的历史时期吗?
time_t
是一个带符号的32位整数,因此它可以回溯到你所指出的1901年。你应该检查你的操作系统,许多操作系统已经扩展了time_t
到64位,这给了你几百亿年的余地。 - Dan Lowe