我建议通过添加适当的秒数来调整Unix纪元时间(自1970年以来)的秒数,而不是增加一年.我不是积极的,但是我的直觉告诉我,在某些情况下(在闰年和日历的小调整等方面)碰撞年份本身是错误的.
如果您需要在2001年1月1日之后添加秒数,那么您要查找的数字是+978307200.如果你需要millis,只需乘以1000即可.
作为一个例子,我有一些代码需要在epoch之后的几秒钟内检测Apple vs Unix纪元日期,并将它们转换为自构造函数中的Unix纪元以来花费几毫秒的Java日期:
// Earlier than 1985 in Unix, must be Apple
if(date < 473410800) {
m.date = new Date((date + 978307200L) * 1000);
} else {
m.date = new Date(date * 1000);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |