【问题标题】:How to get the local date and time from utc如何从UTC获取本地日期和时间
【发布时间】:2014-03-18 19:32:25
【问题描述】:

我对如何以如下格式显示时间感到困惑: 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 点?

【问题讨论】:

  • 你不能在格式化之前加上 UTC 的偏移量吗?
  • momentjs 会为你做这些吗?

标签: javascript date momentjs


【解决方案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());

【讨论】:

    【解决方案2】:

    简单:

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

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

    【讨论】:

    • var d = new Date("2014-03-18T10:00:00-0400") 显示“2014 年 3 月 18 日 10:00:00 GMT-0400”所以偏移量仍然存在。我只想要一个能准时给我 14:00 的实用程序。
    猜你喜欢
    • 1970-01-01
    • 2012-10-29
    • 2011-11-24
    • 1970-01-01
    • 2021-09-26
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多