MomentJS 初学者日期验证失败

MomentJS beginner date validation fail

我正在尝试使用 moment JS 验证字符串格式的日期。

我在 ngPrime 的 pCalendar 中使用 dd/mm/yy 格式,stDate 是我得到的值。

这是我的代码片段:

var stDate = '02/02/2021';
var stDateMoment = moment(stDate, 'dd/mm/yy');

我无法理解为什么表达

stDateMoment.isValid() 

returns 一个 false 值。

有什么想法或建议吗?

谢谢!

为格式化日期创建一个日期对象将解决问题

var stDate = new Date("02/02/2021");
var stDateMoment = moment(stDate,"DD/MM/YY");
const validation = stDateMoment.isValid(); // true

你快到了。格式标记区分大小写,因此使用小写 ddmmyy 无效。

const stDate = '02/02/2021';
const stDateMoment = moment(stDate, 'DD/MM/YYYY');

console.log(
  stDateMoment.isValid() 
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

有关这方面的更多信息,请read the momentjs string format documentation


文档还指出两个 Y 代表两位数的年份,但是四个 Y 代表四位数的年份。