【发布时间】:2014-06-27 12:42:14
【问题描述】:
我在获取 2014 年每个月的正确日期时遇到了问题。 它显示 1 月和 2 月各有 31 天,3 月 28 日。 我无法解决这个问题。也许您可以提出一些提示或技巧? :)
编辑: 我可以看到我的程序第一个月 == 0 是从 2013 年 12 月开始收集的,这很奇怪,因为我在“日期”函数中只提到了 2014 年。 你有什么建议吗?
这是我的代码: 月份和日子都是瑞典语,但我认为这不会是一个问题..
function DaysInAMonth (month) {
return new Date(2014, month, 0).getDate();
}
function nameOfTheWeekdays(day) {
return [
"Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"
][day];
}
function getMonthName(month) {
return [
"Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"
][month];
}
var month = 0;
var day = 0;
for (var i=0; i<12; i++) {
for (var x=0; x<DaysInAMonth(i); x++) {
var c = new Date(2014, i, x);
document.writeln( nameOfTheWeekdays(c.getDay()) + " " + (x+1) + " " + getMonthName(month));
day++;
}
month++;
}
【问题讨论】:
-
你可以了解
switchstatement。 -
... 或 JavaScript 数组
-
@Pointy 他们也是。如果你使用固定长度的缩写会更容易,因为这样你就可以做像
"SunMonTueWedThuFriSat".substr(dow*3,3);这样的乱七八糟的东西:p -
您的“DaysInAMonth()”函数现在已损坏,因为您修复了月份计数器。应该是
new Date(2014, month + 1, 0).getDate()
标签: javascript date object