Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从utc获取本地日期和时间_Javascript_Date_Momentjs - Fatal编程技术网

Javascript 如何从utc获取本地日期和时间

Javascript 如何从utc获取本地日期和时间,javascript,date,momentjs,Javascript,Date,Momentjs,我对如何从以下格式显示时间感到困惑: 2014-03-18T10:00:00-0400 这是使用utc偏移量保存在后端的内容。它在日历中显示良好。 但是,我试图将其显示在输入字段中,但无法将格式转换为本地日期 e.g. <input type="date" name="start-dt" value="03/18/2014" > <input type="time" name="start-time" value="22:00" > moment("2014-03-1

我对如何从以下格式显示时间感到困惑: 2014-03-18T10:00:00-0400

这是使用utc偏移量保存在后端的内容。它在日历中显示良好。 但是,我试图将其显示在输入字段中,但无法将格式转换为本地日期

e.g.
<input type="date" name="start-dt" value="03/18/2014" >
<input type="time" name="start-time" value="22:00" >


moment("2014-03-18T10:00:00-0400").format("HH:SS") returns 10:00
例如。
瞬间(“2014-03-18T10:00:00-0400”)。格式(“HH:SS”)返回10:00
如何获得要考虑的偏移量并将其转换回当地时间下午2点?

简单:

var d = new Date("2012-05-03T09:40:34.764Z");
alert(d);

这将给出本地值,因为“Z”表示其UTC,javascript理解并给出本地时间。

您不能在格式化之前添加UTC的偏移量吗?momentjs是否为您这样做?var d=新日期(“2014-03-18T10:00:00-0400”)显示“2014年3月18日10:00:00 GMT-0400”,所以偏移量仍然存在。我只想要一个能让我14:00准时到达的公用设施。
var dateUTC = new Date("2014-03-18T10:00:00"); //Will give you a Date Object of 6:00 AM - 400
var offset = dateUTC.getTimezoneOffset(); //positive if left of GMT, negative if right of GMT
var newDate = new Date(dateUTC.getTime() - (offset * 1000 * 60 * (offset > 0 ? -1 : 1))));
alert(d.getHours() + ":" d.getMinutes());