2009-03-03 16 views
19

Bitte teilen Sie den Code, um das erste Datum des vorherigen Monats vom aktuellen Datum in JavaScript zu finden. Wenn das aktuelle Datum beispielsweise der 25. Januar 2009 ist, sollte ich den 1. Dezember 2008 als Ergebnis erhalten.Erhalten des ersten Datums des vorherigen Monats vom aktuellen Datum in JavaScript

+0

Mögliche duplizieren [Finden ersten Tag des Vormonats in Javascript] zu bewegen (http://stackoverflow.com/questions/605113/ find-first-day-of-previous-month-in-javascript) –

+0

Überprüfen Sie dies: http://stackoverflow.com/questions/605113/find-first-day-of-previous-month-in-javascript – Learning

Antwort

3

prüfen Sie diesen Link:

http://blog.dansnetwork.com/2008/09/18/javascript-date-object-adding-and-subtracting-months/

EDIT: Ich habe ein Beispiel getrommelt:

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)); 
}); 

Andrew

+0

Hallo Andrew , die Lösung, die Sie gesagt haben, gibt genau 30 Tage zurück vom aktuellen Datum zurück. Ich brauche das erste Datum des Vormonats, unabhängig von einem Datum im aktuellen Monat. –

+0

danke Kumpel !!!! Ich habe es –

+0

Link ist gebrochen :( –

49

einfach genug, mit dem date methods:

var x = new Date(); 
    x.setDate(1); 
    x.setMonth(x.getMonth()-1); 
+0

außer es vermisst, wenn das Jahr sich ändert? – Learning

+1

Nein, es wird das Datum automatisch anpassen –

+1

Dies ist, warum Sie dies mit den nativen Datum Methoden tun, anstatt herum mit Ihrem eigenen Kalender arithmatics. Gott I Liebe JS :) – annakata

2

Angebote mit Aktualisierungs Jahr, als von Januar bis Dezember

var prevMonth = function(dateObj) { 
 
\t var tempDateObj = new Date(dateObj); 
 

 
\t if(tempDateObj.getMonth) { 
 
\t \t tempDateObj.setMonth(tempDateObj.getMonth() - 1); 
 
\t } else { 
 
\t \t tempDateObj.setYear(tempDateObj.getYear() - 1); 
 
\t \t tempDateObj.setMonth(12); 
 
\t } 
 

 
\t return tempDateObj 
 
}; 
 

 
var wrapper = document.getElementById('wrapper'); 
 

 
for(var i = 0; i < 12; i++) { 
 
\t var x = new Date(); 
 
    var prevDate = prevMonth(x.setMonth(i)); 
 
\t 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>

Verwandte Themen