[英]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.