我的函数以这种格式返回日历的选定日期:
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()];
我想要的只是这个日期工作日的名称。
你有什么建议吗?
答案 0 :(得分:0)
日期格式还包含从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)

答案 1 :(得分:-1)
您可以使用Date.parse()
API验证日期字符串。
但请注意,此API的验证有点松散,因为它接受ISO 8601
或RFC 2822
日期格式。如果它是有效的date
,则API会返回epoch time
,然后可以将其用于创建Javascript Date
对象。否则返回NaN
。
至于获取day
- 您可以使用.getDay()
API。
示例:
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