【发布时间】:2019-02-16 03:02:40
【问题描述】:
我将生日存储为纪元时间戳。对于其他一切,它都可以正常工作,但对于生日在 1968 年 8 月 6 日的人来说,纪元时间戳为 -44323200000。当我尝试将此纪元时间戳转换回日期时,它给了我错误的结果(附截图)。令人惊讶的是,对于生日在 1961-02-27(纪元时间戳 -279072000000)的人来说,它可以完美运行。
【问题讨论】:
标签: date datetime epoch milliseconds
我将生日存储为纪元时间戳。对于其他一切,它都可以正常工作,但对于生日在 1968 年 8 月 6 日的人来说,纪元时间戳为 -44323200000。当我尝试将此纪元时间戳转换回日期时,它给了我错误的结果(附截图)。令人惊讶的是,对于生日在 1961-02-27(纪元时间戳 -279072000000)的人来说,它可以完美运行。
【问题讨论】:
标签: date datetime epoch milliseconds
您正在使用Epoch & Unix Timestamp Conversion Tools。本网站尝试猜测您输入的数字是自纪元以来的秒数还是毫秒数,有时会猜错。
如果我输入 -44323200(秒),我会正确得到“GMT:1968 年 8 月 6 日星期二 12:00:00 AM”。如果我输入 -44323200000 并打算将其设为毫秒,则该站点仍将其视为秒并给我“GMT:星期六,6 月 15 日,0565 年 12:00:00 AM”,1453 年前。
我还没有找到一种方法来指示输入的数字是秒还是毫秒。还有其他在线纪元时间转换器。例如,current millis 始终假定为毫秒。当我输入 -44323200000 时,我得到 Tue Aug 06 1968 00:00:00。
也就是说,在我看来,使用毫秒值来记录生日似乎过于精确。如果是我,我会考虑 ISO 8601 格式字符串中的日期,例如 1968-08-06。或者如果它需要是一个数字,那么 days 自纪元以来,而不是毫秒。例如 -513 表示 1968-08-06。 Convert days and seconds since 1970 etc.可以翻译。
【讨论】: