首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Chrome中检查日期的更严格的方法

在Chrome中检查日期的更严格的方法
EN

Stack Overflow用户
提问于 2019-03-01 04:41:52
回答 1查看 36关注 0票数 1

This answer提供了一种在JavaScript中检查日期的好方法:

代码语言:javascript
复制
function isValidDate(d) {
  return d instanceof Date && !isNaN(d);
}

然而,这在Chrome中不起作用,因为它将包含数字的字符串识别为日期:

代码语言:javascript
复制
function getDate(str) {
  console.log(new Date(str).toLocaleString());
}

getDate("a string that contains the number 1");
getDate("a string that contains the number 12");
getDate("a string that contains the number 123");
getDate("a string that contains the number 1234");
getDate("a string that contains the number 12345");
getDate("a string that contains the number 123456");
getDate("a string that contains the number 1234567"); // in Chrome, only this one returns "Invalid Date"

什么是最好的方式来实现一个更严格的日期检查器,以便与Chrome灵活的日期解析一起工作?我不能使用任何需要以特定方式格式化日期的内容(例如,只接受ISO 8601格式)。

EN

回答 1

Stack Overflow用户

发布于 2019-03-01 05:05:14

如果不控制格式,您将很难解析它,并且您可能会得到错误的数据。例如,在许多其他国家,月份和日期是互换的。所以如果你的日期是11/11,你不知道哪个是月份。

也就是说,我将使用一个库,而不是尝试重新发明日期解析的轮子。Moment.js非常好,它会告诉您日期字符串是否有效:https://momentjs.com/docs/#/parsing/string/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54933944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档