繁体   English   中英

如何使用Moment JS将UTC时间转换为正常时间格式

[英]How to convert UTC time to normal time format using Moment js

我正在尝试将UTC时间格式转换为本地时间格式:

这是示例:

我从服务器端获取了UTC格式时间,如下所示:2014-09-17T11:09:58 + 1100。 我的要求是将其转换为2014年9月17日。

但是,我尝试了以下所有方法,但仍然得到2014年9月3日的消息。为什么会发生这种情况?

我试过的

function dateFormatter(UTC) {
        var dateFormat = 'd MMM YYYY';

        console.log(moment(UTC).zone('+1100').format(dateFormat));
        return moment(UTC).format(dateFormat).toLocaleString();
    }

这两种方法仍然得到相同的结果:2014年9月3日

一些东西:

  • UTC是指协调世界时 ,这是一种计时系统,而不是一种格式。

  • “ UTC”中的值的偏移量为零。 由于您说的值的偏移量为+1100 ,因此将其称为“ UTC”没有任何意义。

  • 您不应调用zone功能。 那是为了将输入值转换为特定的时区偏移量。 由于您的输入值已经包含偏移量,因此调用它几乎没有意义。

  • 如果您只是想保留给定的偏移量,请改用moment.parseZone

  • 格式字符串字符区分大小写。 小写的d表示星期几,范围是0到6。您应该使用大写的D来指定月份中的某天。

  • toLocaleString不是必需的。 请注意,您是从字符串而不是日期或时刻开始调用该函数的。

放在一起:

function dateFormatter(s) {
    return moment.parseZone(s).format('D MMM YYYY');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM