gpt4 book ai didi

javascript - 解析 Javascript 中数学运算的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 15:40:27 25 4
gpt4 key购买 nike

我有两个值(value)观。一个是 [STRING],一个是 [INT]TimeZone 是以下值之一的字符串:

'EST-5:00' || 'CST-6:00' || 'MST-7:00' || 'PST-8:00'

DST 将是 0 || 的 INT 1.

试图找出最好的抵消方法。offset = MATH.abs(TimeZone# + DST) 即。

let offset = MATH.abs(-5 + 1) // = 4 ('EST-5:00') + (DST = 1)

let offset = MATH.abs(-6 + 0) // = 6 ('CST-6:00') + (DST = 0)

let offset = MATH.abs(-8 + 1) // = 7 ('PST-8:00') + (DST = 1)

解析字符串以获取数字值并添加 DST 值的最佳方法是什么?

<小时/>

我的最终目标实际上是获得一个日期时间,例如:

let DateTime = '2017-05-11 10:34:43'

连同上面的时区字符串(从与事件相关的元数据中检索)并使用 DST Int(从与事件相关的元数据中检索)将其转换为 UTC ...

因此,鉴于我必须使用的数据,我试图找出需要在 DateTime 中添加多少(小时)才能将其设置为 UTC。

所以

let utcTime = moment(DateTime).add(offset, 'h');

最佳答案

您可以使用数字上的匹配组执行正则表达式:

var value = '(\'PST-8:00\')'.match(/\w{3}-(\d{1})\:/).pop() + DST // => 8 + DST

它查找一系列 3 个单词字符,后跟连字符,然后匹配单个数字,最后以冒号字符结尾。

这只是我的一个快速想法,所以我确信有方法可以收紧正则表达式,但原理仍然是相同的(请参阅 MDN 上的 String.prototype.match 文档)。

关于javascript - 解析 Javascript 中数学运算的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43927084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com