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

时间:2014-03-18 19:32:26

标签: 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-18T10:00:00-0400").format("HH:SS") returns 10:00

如何考虑偏移并将其转换回本地的下午2点?

2 个答案:

答案 0 :(得分:1)

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());

答案 1 :(得分:0)

简单:

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

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