[英]How to convert any time zone date string to utc time zone milliseconds and vice versa
[英]How to ingest javascript date as 'local time' then convert it to UTC and vice versa?
我有以下功能:
var input = "December 25, 2018 01:02:20";
var fmt = 'MMMM DD, YYYY HH:mm:ss';
var currentTimeZone = "utc";
function convertUtcToLocalViceVersa() {
console.log(input);
var m = moment.utc(input, fmt);
if(currentTimeZone == 'utc') {
input = m.local().format(fmt);
currentTimeZone = "local";
} else {
input = m.utc().format(fmt);
currentTimeZone = "utc";
}
}
在我的HTML中,有一个按钮调用函数convertUtcToLocalViceVersa();。
我看到的问题是,按下按钮说了5次后。输入似乎没有像我想要的那样“在utc和本地之间来回切换”。 我如何才能做到这一点?
注意:我想确保每次单击按钮时,都使用“输入”文本,而不是引用矩对象。
问题是您始终使用moment.utc
在UTC模式下解析input
。
如果使用基于currentTimeZone
值的moment()
(本地模式)或moment.utc
(UTC模式)分支,则必须在内部移动解析代码。
这是一个现场样本:
var input = "December 25, 2018 01:02:20"; var fmt = 'MMMM DD, YYYY HH:mm:ss'; var currentTimeZone = "utc"; function convertUtcToLocalViceVersa() { console.log(input); // var m = moment.utc(input, fmt); if(currentTimeZone == 'utc') { var m = moment.utc(input, fmt); input = m.local().format(fmt); currentTimeZone = "local"; } else { var m = moment(input, fmt); input = m.utc().format(fmt); currentTimeZone = "utc"; } console.log(input); }
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script> <button onclick="convertUtcToLocalViceVersa()">Convert</button>
本地,UTC和偏移量指南是非常有用的指南,可帮助您了解矩分析的工作原理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.