【发布时间】:2019-09-09 10:08:19
【问题描述】:
好吧,我有一个时间字符串,例如“06:00:00+00”和“06:00:00+01”,我希望将它们转换为文字以显示当前偏移量为“UTC 零”。
我试过的代码:
const v="06:00:00+00"
const fmt = "hh:mm:ss Z"
const m = moment(v, fmt).diff(moment(v, fmt).startOf('day'));
console.log(m);
console.log(m/(3600*1000));
但是,这会记录“8 小时”。 - 好像它使用我当地的时区。 - 尝试删除时区参数fmt = "hh:mm:ss" 使其忽略时区。
那么我该如何实现呢? (是的,这意味着整数可能是负数,如果 utc 尚未在指定日期内)。
【问题讨论】:
-
调整时如果日期发生变化怎么办?
-
@AyushGupta 你是什么意思?正如我所说,例如,如果我在 utc-11 并且当前时间是“01:00:00-11”,我希望
-10*3600*1000作为结果。 -
moment().utc(v, fmt).diff(moment().utc(v, fmt).startOf('day'));
-
@Ashok 使用
v=06:00:00+1进行的测试显示最后一个日志为“6”,而我预计为“5”。 -
v=06:00:00+1 不是正确的时区,它应该是 v=06:00:00+01 或 v=06:00:00+01.00 请检查我的答案跨度>
标签: javascript time momentjs