我只看到将日期从UTC转换为本地,但是仅将小时从UTC转换怎么办?
例如:
moment.utc(hour, "HH").local().format("h")
这实际上不起作用。
答案 0 :(得分:1)
为我工作:
var hour = 4;
moment.utc(hour, "HH").local().format("h") //=> "8"
Chrome调试控制台中的屏幕截图:
请记住以下几点:
h
是12小时制的一个小时。您可能要使用H
或HH
。否则,除非您在输出格式中也使用a
或A
,否则无法区分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>