使用moment.js将小时UTC转换为本地

时间:2019-03-06 17:47:20

标签: javascript datetime momentjs

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

例如:

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

这实际上不起作用。

1 个答案:

答案 0 :(得分:1)

为我工作:

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

Chrome调试控制台中的屏幕截图:

screenshot

请记住以下几点:

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

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

以下是您可以自行运行的代码段(包括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>