2009-03-03 12 views
19

JavaScriptで現在の日付の前月の最初の日付を検索するコードを誰でも共有してください。たとえば、現在の日付が2009年1月25日の場合、結果として2008年12月1日に取得する必要があります。JavaScriptの現在の日付から前月の最初の日付を取得する

+0

可能な複製を1月から移動http://stackoverflow.com/questions/605113/([JavaScriptで前の月の最初の日を探します]前の月のjavascriptを見つける) –

+0

これをチェック:http://stackoverflow.com/questions/605113/find-first-day-of-previous-month-in-javascript – Learning

答えて

49

わかりやすい

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 x = new Date(); 
    x.setDate(1); 
    x.setMonth(x.getMonth()-1); 
更新年と軒の
+0

年が変わるとそれが恋しくなるのを除いて – Learning

+1

それは自動的に日付を調整します –

+1

これはあなた自身のカレンダーを使いこなすのではなく、ネイティブの日付方法でこれを行う理由です。 JSを愛して: – annakata

2

お得な12月

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>

関連する問題