我总是使用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。