我对如何从以下格式显示时间感到困惑: 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点?
答案 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理解并给出当地时间。