使用momentjs转换时区
Javascript convert between timezones with momentjs
在我的应用程序中,用户选择日期+时间和时区。这个选择必须显示给其他在他们自己时区的用户,这意味着如果来自纽约的用户A选择了东部时间8月8日凌晨3:00,来自北京的用户B将看到这个日期时间转换为中国标准时间(CST)。
为了做到这一点,我想-好吧,我保存用户A的日期,并告诉他从4个时区中选择。在服务器端,我使用时刻时区将其从他的EDT选择转换为UTC,并将其保存为数据库中的UTC,以便当我读取它时,我根据其他用户自己的时区将其转换回其他用户。这是一个正确的方法,还是我把事情复杂化了?目的是用户A可以选择她想要的时区,数据库保存为标准化的UTC,目标用户在他自己的时区看到。
(我使用node.js服务器端btw)谢谢你,
您的方法是正确的:将UTC时间保存在数据库中,并根据用户的时区显示给用户。
momentjs
可以帮助你做到这一点,但你需要给它一个历史时区变化的文件。
查看http://momentjs.com/timezone/查看进一步的解释
一旦你有了这个,就像
一样简单var jun = moment("2014-06-01T12:00:00Z");
jun.tz('America/Los_Angeles').format('ha z'); // 5am PDT
也:不要将用户时区存储为EDT、CST或-6。小时轮班可以随夏令、冬令而改变……您需要存储Olson格式,'America/los - angeles '
相关文章:
- 带时区的Javascript Datestring转换器
- 时刻时区.js允许我传递时区缩写并获取转换后的日期/时间
- 转换 JSON 日期,不考虑时区
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 时区转换
- 使用MomentJs显示日期时间,而无需进行时区转换
- 将 JavaScript Date 从一个时区转换为另一个时区
- 时区转换器,包括夏令时
- javascript时区转换器
- 时区转换层
- 时区转换为基于CST的GMT偏移
- 从时刻时区转换中提取时间(HH:MM)
- 将服务器时区转换为本地时间
- 当javascript中的系统首选项和用户首选项不同时,会出现时区转换问题
- 时区转换
- 将用户提交的日期/时间/时区转换为与时区无关的UTC
- 将日期从本地时区转换为UTC,然后再转换为本地时区
- 社交网络应用程序如何根据查看者的时区转换服务器时间?
- 使用WallTime.js进行js时区转换,但得到一个错误
- 使用javascript在本地时区转换日期