Можете ли вы сказать мне, как проверить правильность даты в Angular? Я использовал const date = new Date (2018, 02, 29), он просто создал неправильную дату без какой-либо проверки! Затем я нашел фрагмент кода:
const date = new Date(year, month-1, day);
if ((date.getFullYear()===year) && (date.getMonth()===month+1) && (date.getDate()===day) {return true;}
return false;
Но для Angular это не работает! У вас есть идеи, пожалуйста? Спасибо.
Может быть, потому что вы передаете month-1 и проверяете наличие month
@xyz, наверное, чтобы принять во внимание тот факт, что месяцы 0 проиндексированы
@ mast3rd3mon, поэтому для месяца "2" пользователь передает как 2 - 1 i.e: 1, для этого "getMonth ()" даст 0, и теперь сравнение будет 0 === 1 + 1
@xyz нет, get month все равно вернет 1, он не вернет месяц -1. однако код операции должен быть date.getMonth()+1===month или date.getMonth()===month-1.
@ mast3rd3mon: Теперь я понял!
новая дата (2018, 02, 29) или новая дата (2018, 02, 30) не существует, это должна быть неправильная дата





как дата была неправильной? не могли бы вы уточнить?
new Date(2018, 02, 29)создаст дату с датой 29 марта 2018 года.