Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中解析这个不合逻辑的日期字符串?_Javascript_Date_Parsing - Fatal编程技术网

如何在javascript中解析这个不合逻辑的日期字符串?

如何在javascript中解析这个不合逻辑的日期字符串?,javascript,date,parsing,Javascript,Date,Parsing,我有一个日期-时间字符串2017年9月30日上午11:23,可以在chrome中使用: var end = new Date("September 30, 2017 @ 11:23 am"); 但在firefox中,它给出了无效日期错误。如何在Firefox中解析它?根据 表示日期的字符串值。字符串的格式应为Date.parse()方法识别的格式 解决方案:您只需从stirng中删除@。使用replace方法或任何其他方法 Ex: var d=“2017年9月30日上午11:23” var

我有一个日期-时间字符串
2017年9月30日上午11:23
,可以在chrome中使用:

var end = new Date("September 30, 2017 @ 11:23 am");
但在firefox中,它给出了
无效日期
错误。如何在Firefox中解析它?

根据

表示日期的字符串值。字符串的格式应为Date.parse()方法识别的格式

解决方案:您只需从stirng中删除
@
。使用
replace
方法或任何其他方法

Ex:

var d=“2017年9月30日上午11:23”
var end=新日期(d.替换(“@”和“);

在Firefox和chrome中都使用console.log(end)
,删除
@
就可以了。您可以替换
@
符号

let date = 'September 30, 2017 @ 11:23 am'
new Date(date.replace('@', ''))

解析日期/时间字符串是出了名的不可靠,因为有太多不同的格式,而且大多数日期API只支持几个标准格式。您可能需要编写自己的解析函数或使用支持此特定格式的库。您是否计划只解析此格式?您可以使用正则表达式之类的东西来提取
septer
部分、
30
2017
上午11:23
。但是,如果您试图解析可能以多种不同格式出现的常规日期字符串,则需要不同的方法。如果您引用MDN,则应链接到,其中显示:“使用日期构造函数解析日期字符串(与date.parse相当)由于浏览器的差异和不一致性,强烈建议不要使用。@mega6382不客气。@RobG谢谢。已更新!。