19

時間なしで、JavaScript で先週の日付を取得しようとしています。

たとえば、10-02-2012の代わりに10-02-12 13:34:56 GMT

これに対する簡単な解決策はありますか?

ありがとうございました!

編集:

結果の変数が常に現在の日付の 1 週間前になるように、これを動的にしようとしています。今日の変数を計算するために私が行ったことは、これが役立つか使用できるかどうかです!

var currentTime = new Date();
var month = currentTime.getMonth() + 1
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var today = month + "-" + day + "-" + year;
alert(today)
4

6 に答える 6

47

私はこのようなものが好きです</p>

function getLastWeek() {
  var today = new Date();
  var lastWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7);
  return lastWeek;
}

var lastWeek = getLastWeek();
var lastWeekMonth = lastWeek.getMonth() + 1;
var lastWeekDay = lastWeek.getDate();
var lastWeekYear = lastWeek.getFullYear();

var lastWeekDisplay = lastWeekMonth + "/" + lastWeekDay + "/" + lastWeekYear;
var lastWeekDisplayPadded = ("00" + lastWeekMonth.toString()).slice(-2) + "/" + ("00" + lastWeekDay.toString()).slice(-2) + "/" + ("0000" + lastWeekYear.toString()).slice(-4);

console.log(lastWeekDisplay);
console.log(lastWeekDisplayPadded);

jQuery UI を使用している場合は、手動で文字列を作成する代わりに、これを行うことができます。

var lastWeekDisplay = $.datepicker.formatDate('mm/dd/yy', getLastWeek());

または今日のために

var todayDisplay = $.datepicker.formatDate('mm/dd/yy', new Date());
于 2012-10-09T18:21:12.757 に答える
21
 var firstDay = new Date("2009/10/02");
 var previousweek= new Date(firstDay.getTime() - 7 * 24 * 60 * 60 * 1000);

このリンクをチェックしてください。それは役に立ちます:-http ://code.google.com/p/datejs/

于 2012-10-09T18:18:16.090 に答える
13

Moment.jsに言及せずに JavaScript の日付に関する質問に回答することはできません。

moment().subtract('days', 7).format('MM-DD-YYYY')
于 2013-11-07T04:46:54.900 に答える
0

10-02-12 13:34:56 GMTのような完全なタイムスタンプからこれを本当に作成したい場合は、次のようにすることができます。

var time = '10-02-12 13:34:56 GMT';
document.write(time.substr(0,7));
于 2012-10-09T18:17:54.877 に答える