我在 javascript 函数中有一个字符串,例如 '30/05/1981'。我正在把它变成这样的约会......
new Date(arguments.Value)
但是在 Chrome 中,当我尝试使用日期时,会出现“无效日期”错误。
它在所有其他浏览器中都能正常工作。
我将如何在 Chrome 中执行此操作?
我在 javascript 函数中有一个字符串,例如 '30/05/1981'。我正在把它变成这样的约会......
new Date(arguments.Value)
但是在 Chrome 中,当我尝试使用日期时,会出现“无效日期”错误。
它在所有其他浏览器中都能正常工作。
我将如何在 Chrome 中执行此操作?
这是因为日期应采用以下格式MM/DD/YYYY
:
new Date("30/05/1981".replace(/^(\d{2})\/(\d{2})/, "$2/$1"));
但是YYYY/MM/DD
也应该可以正常工作:
new Date("30/05/1981".split("/").reverse().join("/"));
这源于DD/MM/YYYY
vs的冲突MM/DD/YYYY
,Chrome仅通过使用后者来解决。您必须以不同的方式输入日期或进行一些字符串匹配。
var dateMatch = arguments.Value.match(/(\d\d)\/(\d\d)\/(\d\d\d\d)/);
new Date(+dateMatch[3], +dateMatch[2], +dateMatch[1]);