表示 - javascript 翌月 取得




現在の日付から30日前に取得するには? (6)

私は開始カレンダー入力ボックスと終了カレンダー入力ボックスを持っています。 デフォルトのカレンダー入力ボックスは、現在の日付の30日前に開始し、終了カレンダーの入力ボックスは現在の日付にします。 ここに私の日付バールがあります。

var today = new Date(),
    dd    = today.getDate(),
    mm    = today.getMonth(),
    yyyy  = today.getFullYear(),
    month = ["January", "February", "March",
        "April", "May", "June", "July", "August",
        "September", "October" "November", "December"],
    startdate = month[mm] + ", " + yyyy.toString();

終了日はvar enddate = startdate - 30; 明らかに、これは動作しません。

したがって、現在の日付が2011年12月30日の場合、2011年12月1日の開始日を希望します。

編集:私の質問は答えた...並べ替え。 Date.today(); およびDate.today().add(-30);January 13, 2012の形式で日付が必要です。 Not Fri Jan 13 2012 10:48:56 GMT -055 (EST) 。 どんな助け?

詳細編集:この記事の執筆時点では、2018年ですMoment.js使用してMoment.js 。 それは最高だ。


Javascriptは外部ライブラリなしでそれを処理できます。

var today = new Date();
var dateLimit = new Date(new Date().setDate(today.getDate() - 30));

document.write(today + "<br/>" + dateLimit)


ここであなたのための醜い解決策です:

var date = new Date(new Date().setDate(new Date().getDate() - 30));

これを試して

var today = new Date()
var priorDate = new Date().setDate(today.getDate()-30)

@Neelで指摘されているように、このメソッドはJavascript Timestamp形式で返されます。 それを日付オブジェクトに戻すには、上記を新しいDateオブジェクトに渡す必要があります。 new Date(priorDate)



私は瞬間jsを好む

startDate = moment().subtract(30, 'days').format('LL')  // January 29, 2015

endDate = moment().format('LL'); // February 28, 2015

簡単です。

let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000);

ISOFormat?

let days=30;
this.maxDateTime = new Date(Date.now() - days * 24 * 60 * 60 * 1000).toISOString();




jquery