23

今天是 2012 年 6 月 11 日。我需要使用 javascript 检索当年的最后一天。

function getLastDayOfYear(date)
{
    var x = document.getElementById("demo");

    var year = date.getFullYear();
    var month = date.getMonth();
    var day = 0; // ?????

    x.innerHTML = day + "-" + month + "-" + year;
}  

是否有任何功能可以检索它,或者我必须做一个完整的实现?如果我需要实现这一点,有人可以帮助我吗?

我做了一个简单的小提琴,你可以在这里查看:http: //jsfiddle.net/EyzCD/

4

6 回答 6

72

由于一年的最后一天总是 12 月 31 日,因此很容易:

new Date(new Date().getFullYear(), 11, 31)
于 2012-11-06T16:20:48.357 回答
8

如果某天一年中的最后一天发生变化,使用临时日期和下个月的第一天然后返回上一个日期可能很有用

tmp_date = new Date(2012, 12, 1)
last_day = new Date(tmp_date - 1)
于 2012-11-06T16:35:26.877 回答
1
alert(new Date(2012, 12, 0));

将返回

Mon Dec 31 00:00:00 CST 20102
于 2012-11-06T16:25:31.443 回答
1

这会为你做吗?这将返回整批供您选择。

function LastDayOfMonth(Year, Month) {
   return new Date( (new Date(Year, Month,1))-1 );
}
于 2012-11-06T16:26:41.113 回答
0

我认为OP希望得到本月的最后一天。

尝试:

var tmp = new Date(year, month+1, 1);
var days = new Date(tmp-1).getDate();
于 2012-11-06T16:28:36.203 回答
0

这将返回一年的最后一天

var actualDate = new Date()
var eoYear = new Date(actualDate.getFullYear(),12,0)

如果您需要在今年的最后一秒返回

var actualDate = new Date()
var eoYear = new Date(actualDate.getFullYear(),12,0,23,59,59)
于 2020-03-11T11:15:55.413 回答