在提出这个问题之前,我已经搜索了所有stackoverflow并阅读了文档,但我不能只了解如何将一个UTC日期转换为用户的本地时间并以其格式显示。我一直在尝试不同的方法,但我一次又一次地得到同样的时间。
所以我的django返回UTC中的obj.created_on作为 - 2013-12-26T13:52:24 - 没有时区信息,但我知道它的UTC
现在我希望momentjs自动检测用户的时区并在该时区进行转换。
我可以使用相同的语法吗?
我也在尝试这个:
new_date = moment(obj.created_on).utc().local().format()
答案 0 :(得分:22)
Moment有两个不同的utc
函数:
一个是on a moment instance,用于将模式切换为UTC。
moment(input).utc()
另一个是on the moment prototype,用于解释输入已经是UTC。
moment.utc(input)
所以,你需要这种语法:
moment.utc(obj.created_on).local().format()
答案 1 :(得分:2)
moment($('#start').val()).utc().format("ddd, DD MMMM YYYY H:mm:ss");
moment($('#end').val()).utc().format("ddd, DD MMMM YYYY H:mm:ss");
如果您希望以本地格式显示日期,将显示UTC格式的日期格式。
moment($('#start').val()).utc().local().format("ddd, DD MMMM YYYY H:mm:ss");
moment($('#end').val()).utc().local().format("ddd, DD MMMM YYYY H:mm:ss");
默认值为GMT时间。我们需要将其转换为我们的本地格式。