Javascript 在JS中将文本转换为整数
我尝试使用Tampermonkey查找UTC时间偏移量并将其作为时间返回。网站显示了我在这里拉的偏移量Javascript 在JS中将文本转换为整数,javascript,momentjs,tampermonkey,Javascript,Momentjs,Tampermonkey,我尝试使用Tampermonkey查找UTC时间偏移量并将其作为时间返回。网站显示了我在这里拉的偏移量 waitForKeyElements (".UTCText", getTZ_Offset); 返回一个字符串 console.log ("Found timezone offset: ", tzOffset); 通常这样08:00它可以是+或- 然后我想把它转换成实际时间。例如,如果UTC时间是00:00,如果偏移量是+08:00,我想打印一个字符串“用户时间是08:00” 我想我可以使
waitForKeyElements (".UTCText", getTZ_Offset);
返回一个字符串
console.log ("Found timezone offset: ", tzOffset);
通常这样08:00
它可以是+或-
然后我想把它转换成实际时间。例如,如果UTC时间是00:00
,如果偏移量是+08:00,我想打印一个字符串“用户时间是08:00”
我想我可以使用momentjs获取UTC时间moment().utcOffset(tzOffset)
并传递偏移量
当我这样做的时候,它只会返回NaN
我做错了什么?将
:
前面的部分乘以60,然后将其添加到第二部分:
const tzOffset='08:00';
const[hourofset,minuteOffset]=tzOffset.split(':').map(编号);
常量totalMinuteOffset=小时偏移量*60+分钟偏移量;
console.log(总分钟偏移量)代码>已注意到。谢谢你的回答和建议。这不能正确处理负偏移。例如,'-09:30'
被解释为(-9*60)+30==-510
,但它应该被解释为-((9*60)+30)==-570
。我相信这与您的。但同时,您已将其标记为。为什么?关于这一刻,你们什么也没问。如果您确实想使用“时刻”来转换使用UTC偏移量的时间,它的功能会很有用,但您不需要转换为分钟来使用它。此外,您选择的术语不准确,并且会稍微混淆您的要求。没有“UTC时区”这样的东西。如果您有一个类似于UTC-08:00
(或仅-08:00
)的值,则表示“UTC偏移量”、“UTC偏移量”或“时区偏移量”。请记住,时区不仅仅是一个偏移量(请阅读中的“时区”=偏移量)。也没有“UTC格式”(来自您的另一个问题),因为UTC不是一种格式。偏移量的常用格式“±HH:MM”
是ISO 8601格式规范和许多其他规范的一部分。还有其他格式以不同的方式包含UTC的偏移量。此外,不能自行获取偏移量并“将其作为本地时间返回”。时间和偏移量是两个不同的概念。您可以对给定的UTC时间应用偏移量来返回本地时间,也可以在给定的偏移量中返回当前时间,但您不能仅将偏移量转换为本地时间。@MattJohnson我尝试使用moment().utcOffset()
并传递我返回的偏移量tzOffset
,但它显示NaN,为了清楚起见,我编辑了我的问题