请任何人共享代码,以便在JavaScript中查找上个月的当前日期的第一个日期.例如,如果当前日期是2009年1月25日,那么我应该将2008年12月1日作为结果.
直截了当,使用日期方法:
var x = new Date(); x.setDate(1); x.setMonth(x.getMonth()-1);
最简单的方法是:
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
检查此链接:
http://blog.dansnetwork.com/2008/09/18/javascript-date-object-adding-and-subtracting-months/
编辑:我鼓了一个例子:
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)); });
安德鲁
从一月到十二月移动年份更新
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);
}