从一瞬间减去时间麻烦

时间:2019-03-21 06:01:25

标签: timezone momentjs

我正在一个项目中使用与当前居住地区不同的时区:

moment.tz.add("Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6")

然后将其格式化为: const kST = moment().tz('Asia/Seoul').format("HH:mm");

现在我希望能够从中减去一年。通过查看操作方法示例,我发现了类似var foo = moment(blah, "HH:mm).subtract(1, "years")

的内容

我以为,因为我已经用'const kST'定义了时刻,所以我可以简单地用“ kST”代替“ moment”:

const firstTimeConverted = kST(firstBus, "HH:mm").subtract(1, "years");

不幸的是,这不起作用。任何想法,我将如何做到这一点,将不胜感激。

1 个答案:

答案 0 :(得分:1)

在您的代码中,kST不是函数-它是字符串format返回指定格式的字符串。

您可能想要:

const firstTimeConverted = moment.tz(firstBus, "HH:mm", `Asia/Seoul`).subtract(1, "years");

这将解析firstBus格式的HH:mm变量中的字符串(例如"23:45"),并解释为属于当前日期的Asia/Seoul时区那里。然后它将减去一年,并将结果作为moment对象返回。如果需要字符串,则需要调用format函数。