моя функция возвращает выбранную дату календаря в этом формате:
var returnValue = "6.7.2017"; //day.month.year
Когда я пытаюсь использовать его для новой даты, он не работает:
var weekdays = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
var wkdayname = new Date(returnValue); //Error: returnValue ist NaN
var dayName = weekdays[wkdayname.getDay()];
Все, что я хочу, это просто имя дня недели этой даты.
У вас есть какие-нибудь предложения?
Формат даты также имеет день и месяц, перешедшие из формата, который распознает Date()
. Эта функция преобразует строку даты с использованием .
и первые записи даты в допустимый формат:
function transformDate (date){
var day_month_year = date.split(".")
return [day_month_year[1],day_month_year[0],day_month_year[2]].join("/")
}
var returnValue = "6.7.2017"; //This is a string
var weekdays = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
var wkdayname = new Date(transformDate(returnValue));
var dayName = weekdays[wkdayname.getDay()];
alert(dayName)
Вы можете проверить строку даты с помощью API Date.parse()
.
Но помните, что эта проверка API немного свободна, так как она принимает форматы даты ISO 8601
или RFC 2822
. Если это действительная date
тогда API возвращает вам время epoch time
которое затем можно использовать для создания объекта Date
Javascript. В противном случае он возвращает NaN
.
Что касается получения day
- вы можете использовать API .getDay()
.
Пример:
if (Date.parse("aaabbcc")) {
console.log("aaabbcc is Valid");
}
else {
console.log("aaabbcc is invalid");
}
if (Date.parse("6.7.2017")) {
var date = new Date(Date.parse("6.7.2017"));
console.log("6.7.2017 is Valid");
console.log("The day of the week is => " + date.getDay());
}
else {
console.log("6.7.2017 is invalid");
}
Ссылки: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/getDay
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
returnValue
? потому чтоnew Date('6.7.2017')
кажется, работает