我有以下字符串:
“2018 年 12 月 25 日 01:02:20”
我打算将其设置为 GMT/UTC 使用 moment.js,如何将其转换为本地时间并返回 UTC?
当我做:
moment(myDateString).local()
然后稍后尝试转换回来:
moment(myDateStrig).utc()
它们都会产生不同的结果。如何才能将 UTC 时间转换为本地时间,然后再转换回 UTC?
笔记:
当我尝试.utc()
字符串上的函数"December 25, 2018 01:02:20"
我得到了不同的时间。当我做一个.local()
在 UTC 转换时刻,我得到一个不同的日期,这不是我的原始日期"December 25, 2018 01:02:20"
.
如果可以的话请举个例子,因为我看起来有 3 个不同的日期。
由于您的输入代表 UTC 时间,因此您必须使用moment.utc http://momentjs.com/docs/#/parsing/utc/(正如其他人在评论中建议的那样):
默认情况下,时刻以当地时间解析和显示。
如果你想解析或显示UTC时刻,你可以使用moment.utc()
代替moment()
.
此外,由于您的输入字符串不是可识别的格式moment(String) http://momentjs.com/docs/#/parsing/string/(ISO 8601 或 RFC 2822),您必须将格式参数作为第二个参数传递moment.utc
, see 字符串+格式解析 http://momentjs.com/docs/#/parsing/string-format/文档的部分。
这里是一个代码示例:
var input = "December 25, 2018 01:02:20";
var fmt = 'MMMM DD, YYYY HH:mm:ss';
var m = moment.utc(input, fmt);
console.log(m.local().format(fmt));
console.log(m.utc().format(fmt));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.21.0/moment.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)