首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >unix时间戳是存储时间戳的最佳方式吗?

unix时间戳是存储时间戳的最佳方式吗?
EN

Stack Overflow用户
提问于 2008-10-07 14:29:22
回答 7查看 36.7K关注 0票数 63

我总是使用unix时间戳做任何事情,但我想知道是否有更好的方法。

你用什么来存储时间戳?为什么?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2008-10-07 14:50:28

无论您如何选择存储时间戳,重要的是要避免区域解释问题和时间偏移问题。无论地域如何,Unix时间戳的解释都是相同的,并且无论时区如何,都是从相同的时间点开始计算的-这些都是好东西。

注意将时间戳存储为不明确的字符串,例如01/ 02 / 2008,因为这可能被解释为2008年1月2日或2008年2月1日,具体取决于区域设置。

在存储小时/分钟/秒时,重要的是要知道指定的是“哪一个”小时/分钟/秒。您可以通过包含时区信息( Unix时间戳不需要,因为假定它是UTC)来实现这一点。

但是,请注意,Unix时间戳不能唯一地表示时间上的某些时刻:当UTC中有闰秒时,Unix时间戳不会更改,因此23:59:60 UTC和第二天00:00:00具有相同的Unix表示。因此,如果您确实需要一秒或更高的分辨率,请考虑另一种格式。

如果您更喜欢一种更易于阅读的存储格式,而不是Unix时间戳,请考虑使用ISO 8601

一种有助于保持简单明了的技术是将日期存储为UTC,并在向用户显示日期时仅应用时区或DST偏移量。

票数 100
EN

Stack Overflow用户

发布于 2008-10-07 14:48:15

如果您正在存储日志文件,请看在pete的份上,使其具有人类可读性和词法可排序性。

例如: 2008-10-07 09:47:02。

票数 31
EN

Stack Overflow用户

发布于 2008-10-07 14:32:49

32 bit Unix timestamps will overflow in a few years (January 2038),所以这可能是一个考虑因素。我通常在SQL中使用日期时间格式,它是YYYY-MM-DD HH:MM:SS,时间是24小时制。我尝试输出到相同格式的文件,只是为了让我的生活更容易。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/178704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档