小编典典

检查字符串是否为日期值

all

什么是检查值是否为有效日期的简单方法,允许任何已知的日期格式。

例如,我有值10-11-2009,
10/11/20092009-11-10T07:00:00+0000它们都应该被识别为日期值,而值200, 10,
350,不应该被识别为日期值。如果可能的话,最简单的检查方法是什么?因为时间戳也是允许的。


阅读 131

收藏
2022-05-05

共1个答案

小编典典

够了吗 Date.parse()

请参阅其相关的MDN 文档页面

Date.parse如果字符串日期有效,则返回时间戳。以下是一些用例:

// /!\ from now (2021) date interpretation changes a lot depending on the browser
Date.parse('01 Jan 1901 00:00:00 GMT') // -2177452800000
Date.parse('01/01/2012') // 1325372400000
Date.parse('153') // NaN (firefox) -57338928561000 (chrome)
Date.parse('string') // NaN
Date.parse(1) // NaN (firefox) 978303600000 (chrome)
Date.parse(1000) // -30610224000000 from 1000 it seems to be treated as year
Date.parse(1000, 12, 12) // -30610224000000 but days and month are not taken in account like in new Date(year, month,day...)
Date.parse(new Date(1970, 1, 0)) // 2588400000
// update with edge cases from comments
Date.parse('4.3') // NaN (firefox) 986248800000 (chrome)
Date.parse('2013-02-31') // NaN (firefox) 1362268800000 (chrome)
Date.parse("My Name 8") // NaN (firefox) 996616800000 (chrome)
2022-05-05