簡體   English   中英

上個月最后一天的javascript日期

[英]javascript date of last day of previous month

假設我有 3 個這樣的變量:

var Month = 8; // in reality, it's a parameter provided by some user input
var Year = 2011; // same here
var FirstDay = new Date(Year, Month, 1);

現在我想在變量中包含一個月的第一天之前的一天的值。 我這樣做:

var LastDayPrevMonth = (FirstDay.getDate() - 1);

它沒有按計划工作。 有什么權利這樣做?

謝謝。

var LastDayPrevMonth = new Date(Year, Month, 0).getDate();
var LastDayPrevMonth = new Date(FirstDay);
LastDayPrevMonth.setHours(FirstDay.getHours()-24);

如果您需要根據今天的日期(您想要上個月的最后一天)來計算它,以下內容應該會有所幫助。

如果你只關心月/日/年,這是我能想到的最簡單最快的:

var d = new Date(); d.setDate(0);
console.log(d);

如果您想要上個月最后一天的午夜,則:

var d = new Date(); d.setDate(0); d.setHours(0,0,0,0);
console.log(d);

如果您想根據提供的年/月知道上個月的最后一天:

var year = 2016, month = 11;
var d = new Date(year, (month - 1)); d.setDate(0); d.setHours(0,0,0,0);
console.log(d);

運行上述任何一項后,獲取 YYYY-MD 格式:

var str = d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate();
console.log(str);

要查看可用的其他方法並查看它們的作用,您可以閱讀 docs

創建一個新的Date對象並將另一個日期傳遞給它,該日期強制為自Unix 紀元以來的毫秒數,然后減去一整天(以毫秒為單位)。

var LastDayPrevMonth = new Date(FirstDay - 864e5);

例子:

 var Month = 8; // in reality, it's a parameter provided by some user input var Year = 2011; // same here var FirstDay = new Date(Year, Month, 1); var LastDayPrevMonth = new Date(FirstDay - 864e5); document.body.innerHTML = LastDayPrevMonth;

var FirstDay = new Date(Year, Month, 1);
var lastMonth = new Date(FirstDay);
lastMonth.setDate(-1);
alert(lastMonth);

請記住,8 是九月,而不是 JavaScript 中的八月。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM