日期与时间戳-关于日期格式的最佳实践



这篇文章是语言无关的。在设计包含日期的API时,您应该记住什么?拥有以下可能的优势:2016-11-01T20:44:39Z而不是以毫秒为单位的时间戳,如下所示:1583749154495

根据应该使用什么模式来解析java中的RFC 3339日期时间字符串,即使是RFC 3339格式也可能不同。为什么不在所有地方都使用时间戳,例如在构建REST后端API时?另一个可能的优点是,您将时间戳作为一个数字发送到前端,然后前端库负责处理时区之类的事情,向每个用户显示调整后的日期输出。

我绝对建议使用UTC日期时间来指示特定的时间点,即使时间戳是一种更简洁的格式。不过需要考虑的是:

  1. 可读性:您的UI和/或后端服务并不是这些时间戳的唯一消费者。这些时间戳最终会出现在日志中,而人类可读的格式帮助很大
  2. 兼容性:使用时间的积分表示可能会导致错误,这取决于方法&使用的平台:https://en.wikipedia.org/wiki/System_time
  3. 合同的大小:如果你发送大量的时间戳,那么像积分时间戳这样更简洁的格式可能是有益的。实际上,在99.9%的情况下,这不应该是一个令人担忧的问题

我绝对建议你坚持一个已知的、可读的、通用的时间表示标准,除非你的需求明确要求你放弃这个标准。

最新更新