una - Obtención de la primera fecha del mes anterior de la fecha actual en JavaScript
sumar dias a una fecha javascript (4)
Cualquiera que comparta el código para encontrar la primera fecha del mes anterior a partir de la fecha actual en JavaScript. Por ejemplo, si la fecha actual es el 25 de enero de 2009, debería obtener el 1 de diciembre de 2008 como resultado.
Bastante sencillo, con los métodos de fecha :
var x = new Date();
x.setDate(1);
x.setMonth(x.getMonth()-1);
La forma más sencilla sería:
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
Revisa este enlace:
http://blog.dansnetwork.com/2008/09/18/javascript-date-object-adding-and-subtracting-months/
EDITAR: He acumulado un ejemplo:
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));
});
Andrés
Se trata de actualizar el año al mudarse de enero a diciembre.
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);
}
<div id=''wrapper''>
</div>