Getting the previous month's first date from current date in JavaScript
请任何人共享代码,以便在JavaScript中查找上个月的当前日期的第一个日期。 例如,如果当前日期是2009年1月25日,那么我应该将2008年12月1日作为结果。
直截了当,使用日期方法:
1 2 3 | var x = new Date(); x.setDate(1); x.setMonth(x.getMonth()-1); |
最简单的方法是:
1 2 3 | var x = new Date(); x.setDate(0); // 0 will result in the last day of the previous month x.setDate(1); // 1 will result in the first day of the month |
处理从1月到12月的更新年份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | var prevMonth = function(dateObj) { var tempDateObj = new Date(dateObj); if(tempDateObj.getMonth) { tempDateObj.setMonth(tempDateObj.getMonth() - 1); } else { tempDateObj.setYear(tempDateObj.getYear() - 1); tempDateObj.setMonth(12); } return tempDateObj }; var wrapper = document.getElementById('wrapper'); for(var i = 0; i < 12; i++) { var x = new Date(); var prevDate = prevMonth(x.setMonth(i)); var div = document.createElement('div'); div.textContent = "start month/year:" + i +"/" + x.getFullYear() + " --- prev month/year:" + prevDate.getMonth() + "/" + prevDate.getFullYear() + " --- locale prev date:" + prevDate.toLocaleDateString(); wrapper.appendChild(div); } |
1 |
检查此链接:
http://blog.dansnetwork.com/2008/09/18/javascript-date-object-adding-and-subtracting-months/
编辑:我已经打了一个例子:
1 2 3 4 5 6 7 8 9 10 11 | Date.prototype.SubtractMonth = function(numberOfMonths) { var d = this; d.setMonth(d.getMonth() - numberOfMonths); d.setDate(1); return d; } $(document).ready(function() { var d = new Date(); alert(d.SubtractMonth(1)); }); |
安德鲁
这对我有用
1 2 3 | var curDateMonth = new Date(); var prvDateMonth = new Date(curDateMonth.getFullYear(),curDateMonth.getMonth()-1,curDateMonth.getMonth()); console.log(curDateMonth.toLocaleString('en-US', { month: 'long' }) +' vs '+ prvDateMonth.toLocaleString('en-US', { month: 'long' })); |