我有一个几乎格式正确的日期的字符串:"Fri Sep 21 201800:34:27 GMT"
。 几乎是因为四位数的年份和时间的开头之间没有空格。该应该易于分解并通过如下方式进行解析:
var text = "Fri Sep 21 201800:34:27 GMT";
var colonAt = text.indexOf(':')
var date = [text.substr(0, colonAt-2), text.substr(colonAt-2)].join(' ')
这将正确返回一个字符串,看起来像"Fri Sep 21 2018 00:34:27 GMT"
,应该有效。如果我将其传递到控制台中的Date.parse
,它将起作用。但是,如果我在TamperMonkey脚本中将此字符串传递给Date.parse
,则会得到NaN
。我是不是很忙,还是在TamperMonkey脚本中解析日期有技巧?
答案 0 :(得分:0)
我找到了。事实证明,当我以编程方式检索值时,在时区之前嵌入了一个不间断的空间。通过在commonjs
之后添加.replace("\u00A0", " ")
解决问题。
对于那些好奇的人,我使用.join(" ")
找到了它。这样会在秒和时区之间吐出encodeURI(text)
。稍后进行搜索,我得到了一个解释以及使它起作用的方法。