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

标签 timestamp

我总是使用 unix 时间戳来处理所有事情,但我想知道是否有更好的方法。

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

最佳答案

无论您选择如何存储时间戳,避免区域解释问题和时间偏移问题都很重要。无论区域如何,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 偏移量。

关于timestamp - unix 时间戳是存储时间戳的最佳方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/178704/

相关文章:

javascript - 如何在 Firestore 中创建具有可靠时间戳的文档?

php - TIMESTAMP 与 DATETIME MySQL

MySQL 将时间戳添加到插入的值

PHP:如何从模式 H:i (17:45) 创建时间戳?

SQL 主键自动增量 vs 时间戳

sql - oracle sql查询时间戳落在两个时间戳之间的记录

日期时间十六进制格式解密

python - 如何将非正统格式的时间转换为pandas数据帧中的时间戳

python - 由 Timestamp 对象组成的 Pandas 系列的 min() 和 max() 方法的意外结果

android - 在android中将时间戳作为字符串转换为日期