我正在一个项目中使用与当前居住地区不同的时区:
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");
不幸的是,这不起作用。任何想法,我将如何做到这一点,将不胜感激。
答案 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
函数。