Функция Javascript работает, но сообщает о неправильном дне недели. В некоторые дни это работает, но некоторые нет. Например, 22 января 1991 г. отчетность поступает корректно, так как в апреле, но 04 апреля 1994 года, неверно. Как это фиксируется?Функция имени Javascript возвращает неправильный день недели
Также как реализовать условие, которое возвращает «Вы из будущего ?!» если пользователь предоставляет дату в будущем.
Вот моя функция до сих пор.
//ask user for birthday
var birthday = window.prompt("What is your birthday? (MM-DD-YYYY)", "");
var birthdayArray = birthday.split('-');
//validate entry is correct
if(birthdayArray.length !==3){
alert("invalid date")
}
//validate if date format is correct
else{
if(!birthdayArray[0].match(/^\d\d$/) ||
!birthdayArray[1].match(/^\d\d$/) ||
!birthdayArray[2].match(/^\d\d\d\d$/)){
alert("invalid date");
}
///take user input and find weekday
else{var weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday','Friday', 'Saturday'];
var userDate = new Date(
parseInt(birthdayArray[0])-1,
parseInt(birthdayArray[1])-2,
parseInt(birthdayArray[2])
);
var result = userDate.getDay();
var dayName = weekDays[result];
document.write("You were born on "+dayName);
}
}
Можно ли это сделать без полного повторного ввода кода?
РЕДАКТИРОВАТЬ: 1 и -2 были мной, играющими вокруг с фиксированными датами, надеясь, что я смогу найти золотую комбинацию, до сих пор ничего.
любезно рассмотреть чтение [документация] (https: //developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date) – njzk2
Убедитесь, что вы используете 'parseInt (Val, 10)', в противном случае значения, такие как '08' и' 09', будут проанализированы так, как если бы они были базовыми 8 , Кроме того, конструктор 'Date' занимает год-месяц-день, а не месяц-день-год. – Krease
@ Chris-parseInt вовсе не требуется. Если в конструктор [* Дата * *] добавлено более одного значения (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-date-year-month-date-hours- минут-секунд-мс), они все равно преобразуются в число. – RobG