我正在创建一个将被Javascript框架使用的Rails API。时间显示和操作将由MomentJS控制。前端能够显示日期和时区缩写(例如1/1/2010 11:00 PST
),这一点很重要。
据我所知,偏移量(例如-0700
)不足以确定实际的时区,并且时区缩写并不总是唯一的。
我只能想到两种方法来解决这个问题:
{ pick_up: "17-06-08T18:59:21.215Z", pick_up_tz: 'America/New_York' }
(或使用非标准日期时间格式,即同时包含时区缩写和偏移量的内容这些是合理的解决方案,还是有更好的方法?
发布于 2018-06-01 05:49:32
使用非标准日期时间格式
永远不要这样做。接口应始终以ISO 8601为单位返回时间。
以协调世界时为单位返回所有时间,并为每次指定时区提供额外的字段
偏移量不足以标识时区,这一点是正确的,因此您确实需要将其包含在接口响应中,理想情况下是作为IANA time zone。
是否转换为UTC或包括偏移量是一个偏好问题;2017-06-08T18:59:21.215Z
和2017-06-08T11:59:21.215-0700
表示相同的时间,而不管您转换为哪个时区以进行显示。包括偏移量有助于识别存储的偏移量是否与时区不同,因为如果偏移量不同,则可能只显示时区限定符。
https://stackoverflow.com/questions/44960633
复制相似问题