【问题标题】:Convert Hour UTC to Local using moment.js使用 moment.js 将小时 UTC 转换为本地
【发布时间】:2019-03-06 17:47:20
【问题描述】:

我只看到将日期从 UTC 转换为本地,但是仅将小时从 UTC 转换呢?

例如:

moment.utc(hour, "HH").local().format("h")

这实际上不起作用。

【问题讨论】:

  • 为什么不转换整个日期,只提取小时?
  • @basic 我没有可用的日期,只有小时
  • 使用小时创建一个新日期,然后将其转换为 UTC

标签: javascript datetime momentjs


【解决方案1】:

为我工作:

var hour = 4;
moment.utc(hour, "HH").local().format("h")  //=> "8"

Chrome 调试控制台截图:

请记住以下几点:

  • h 是 12 小时制的一个小时。您可能想使用HHH。否则无法区分 AM 和 PM,除非在输出格式中还使用 aA

  • 没有提供日期,Moment 使用的是当前天。由于夏令时和标准时间的变化,并非所有时区在每个日期与 UTC 的偏移量都相同。因此,此代码的输出将根据您运行它的时间而改变。

这里有一个 sn-p(包括 AM/PM),如果您愿意,您可以自己运行:

var hour = 4;
var result = moment.utc(hour, "HH").local().format("h A");

document.getElementById('output').innerHTML = result;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Local Time: <span id="output"></span>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-20
    • 2021-07-21
    • 2014-06-11
    • 2014-07-23
    • 1970-01-01
    • 2016-01-24
    • 2016-05-24
    • 1970-01-01
    相关资源
    最近更新 更多