如何检查字符串是否是反应中的日期值/日期字符串
How to check if a string is a date value / date string in react
我想检查字符串值是否为日期。
我使用了不同的方法来识别,但所有方法都将“111”(以及其他类似的字符串)识别为日期。
实际上,我有用户输入的不同字符串,例如:文本、数字、IP 地址、日期、范围、日期时间等。我将它们全部保存为字符串(因为我必须将它们保存为字符串我的项目)
现在,在我项目的其他部分,我想检查一个字符串是否为日期(使用这种格式 2020-09-23 00:00:00
),显示不同并立即将其转换为日期。
我是这样用的:
1-
moment(myString, "YYYY-MM-DD HH:mm:ss").isValid()
2-
Date.parse(myString)
但全部 return true
字符串“111”或“1234”等等。
我想要我的条件 return true
当且仅当 mySting 具有这样的 YYYY-MM-DD HH:mm:ss
格式:2020-09-23 00:00:00
为什么不尝试将字符串解析为日期?所以像 new Date(dateString)
这样的东西会吐出一个日期对象或一个表示日期无效的字符串。在您的情况下,您应该尝试这个 const isDateValid = (date = "") => { let parsedDate = new Date(date); return parsedDate.toString() !== "Invalid Date"; }
应该可以解决问题。
我想检查字符串值是否为日期。 我使用了不同的方法来识别,但所有方法都将“111”(以及其他类似的字符串)识别为日期。
实际上,我有用户输入的不同字符串,例如:文本、数字、IP 地址、日期、范围、日期时间等。我将它们全部保存为字符串(因为我必须将它们保存为字符串我的项目)
现在,在我项目的其他部分,我想检查一个字符串是否为日期(使用这种格式 2020-09-23 00:00:00
),显示不同并立即将其转换为日期。
我是这样用的:
1-
moment(myString, "YYYY-MM-DD HH:mm:ss").isValid()
2-
Date.parse(myString)
但全部 return true
字符串“111”或“1234”等等。
我想要我的条件 return true
当且仅当 mySting 具有这样的 YYYY-MM-DD HH:mm:ss
格式:2020-09-23 00:00:00
为什么不尝试将字符串解析为日期?所以像 new Date(dateString)
这样的东西会吐出一个日期对象或一个表示日期无效的字符串。在您的情况下,您应该尝试这个 const isDateValid = (date = "") => { let parsedDate = new Date(date); return parsedDate.toString() !== "Invalid Date"; }
应该可以解决问题。