在Safari中解析时,日期显示为null

问题描述 投票:1回答:2

我在Safari浏览器中格式化日期时遇到问题。请在下面找到详细信息:

value = "2018-02-06";
var tempDate = {value: new Date(value.toString().replace('-','/')) };

tempDate在Safari中设置为null,但在Chrome和IE等其他浏览器中没有设置。你能告诉我这里有什么问题吗?

javascript angularjs safari
2个回答
1
投票

你只替换一个-not。使用replace(/-/g,'/');替换所有-

Read in docs

substr(pattern)要由newSubStr替换的String。它被视为逐字字符串,不会被解释为正则表达式。只会替换第一次出现。

var value = "2018-02-06";
value = value.replace(/-/g,'/');
var tempDate = {value: new Date(value) };
console.log(tempDate);

你的代码只替换第一个-,检查

value = "2018-02-06";
console.log(value.toString().replace('-','/'));

.toString()它转换成字符串。如果它已经是字符串,则不需要使用它。


0
投票

将日期值的格式更改为“02-06-2018”格式(mm-dd-yyyy)。

© www.soinside.com 2019 - 2024. All rights reserved.