![](/img/trans.png)
[英]How to validate date if is the last day of the month with 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.