使用Moment.js为ISO 8601日期创建条件

时间:2018-06-13 17:10:00

标签: javascript momentjs

例如我有这样的格式:2003-09-25T14:00:00.000 + 1000,如何使用momentjs创建条件块以检查某个字符串是否与上述格式匹配?

var string1 = '2003-09-25T14:00:00.000+1000';
var string2 = '2003-09-25T14:00';

if (string1 === 'moment format check') // true
if (string2 === 'moment format check') // false

类似于在PHP中例如2018-01-12 === date('Ym-d')或2018-1-12 10:28:30!== date('Ym-d')在伪代码逻辑中(当然,当你完全按照这种方式运行它时,这不起作用)但希望我的观点已经建立。

1 个答案:

答案 0 :(得分:3)

根据documentation你可以这样做:

moment("2010 11 31", "YYYY MM DD").isValid(); // false (not a real day)

如果字符串与指定的格式不匹配,

isValid()将返回false。

对于您的示例字符串应为:

moment("2003-09-25T14:00:00.000+1000", "YYYY-M-DTH:m:s.SSSZ", true).isValid()

第三个参数强制执行严格的解析。