我正在使用Bootstrap datepicker,在验证日期时遇到了麻烦。用户可以在弹出日期选择器中键入日期或从中选择日期。由于某种原因,这个日期的格式是yyyy-MM-dd'T'HH:mm:ss.SSSz。
对于验证,我使用带有moment.js的简单函数(用typescript编写):
validateDate = (date: any) => {
return (
moment(date, 'dd/MM/YYYY', true).isValid() ||
moment(date, 'd/MM/YYYY', true).isValid() ||
moment(date, 'dd-MM-YYYY', true).isValid() ||
moment(date, 'd-MM-YYYY', true).isValid() ||
moment(date, 'YYYY-MM-d', true).isValid() ||
moment(date, 'YYYY-MM-dd', true).isValid()
);
}
Datepicker设置:
dateOptions = {
startingDay: 1,
showWeeks: 'false'
};
format = 'dd/MM/yyyy';
altInputFormats = ['dd/MM/yyyy', 'dd-MM-yyyy', 'd-MM-yyyy'];
由于它是Angular app,我在ng-change中触发验证。 有没有办法将datepicker日期格式设置为只有日期而没有时间部分?我尝试使用T的索引从此值中获取子字符串,但它不起作用。