在2014 javascript中获得特定月份的正确天数

Get the correct days in a specific month in 2014 javascript

本文关键字:javascript 2014      更新时间:2023-09-26

我在2014年每个月获得正确的日期有一个问题。它显示1月和2月各有31天,3月有28天。我无法解决这个问题。也许你能想出一些建议或技巧?:)

编辑:我可以看到我的程序第一个月== 0是从2013年12月开始收集的,这很奇怪,因为我在Date函数中只引用了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++;
}

JavaScript日期中的月份编号为0到11,而不是1到12。事实上,你的" daysinamonmonth()"函数似乎依赖于这个事实。

2014年1月1日的日期来自new Date(2014, 0, 1)

您可以使用数组将月或日的数字映射到名称中:

function getMonthName(m) {
  return [
    "Januari", "Februari", "Mars", "April",
    "Maj", "Juni", "Juli", "Augusti",
    "September", "Oktober", "November", "December"
  ][m];
}