在 JS 中将文本转换为整数

Convert Text to Integer in JS

我正在尝试使用 Tampermonkey 查找 UTC 时间偏移量并将其作为时间 return。该网站显示了我在此处拉出的偏移量

waitForKeyElements (".UTCText", getTZ_Offset); 

其中 return 是一个字符串

console.log ("Found timezone offset: ", tzOffset);

一般这样08:00也可以+ or -

然后我想把它转换成实际时间。例如,如果 UTC 时间是 00:00,如果偏移量是 +08:00,我想打印一个字符串 "The users time is 08:00"。

我想我可以使用 momentjs 获取 UTC 时间 moment().utcOffset(tzOffset) 并传递偏移量。

当我这样做时,它只是 returns NaN

我做错了什么?

:之前的部分乘以60,加到第二部分:

const tzOffset = '08:00';
const [hourOffset, minuteOffset] = tzOffset.split(':').map(Number);

const totalMinuteOffset = hourOffset * 60 + minuteOffset;
console.log(totalMinuteOffset);

如果输入可能是负数,那么也要检查一下:

const tzOffset = '-08:00';
const [_, neg, hourOffset, minuteOffset] = tzOffset.match(/(-)?(\d{2}):(\d{2})/);

const totalMinuteOffset = (neg ? -1 : 1) * (hourOffset * 60 + Number(minuteOffset));
console.log(totalMinuteOffset);

A few time zones 与 UTC 的区别不仅在于小时,还在于分钟(例如,UTC +5:30,UTC +9:30),因此只是 parseInt,即使它起作用了,但不是到处都可靠。