26

これらの 2 つのスタック オーバーフローの質問は同様の質問をしますが、それらの解決策は私にはうまくいかないようです: Javascript 昨日 昨日の日付と今日の日付を表示するための Javascript コード

日付を指定すると、前日 (前日) の日付が必要です。上記で提案された解決策のフィドルと、私にとってはうまくいかないシナリオがあります: http://jsfiddle.net/s3dHV/

var date = new Date('04/28/2013 00:00:00');
var yesterday = new Date();
yesterday.setDate(date.getDate() - 1);
alert('If today is ' + date + ' then yesterday is ' + yesterday);

私にとって、それは警告です

今日が 2013 年 4 月 28 日日曜日 00:00:00 GMT-0400 (東部夏時間) の場合、昨日は 2013 年 5 月 27 日月曜日 11:12:06 GMT-0400 (東部夏時間) です。

これは明らかに間違っています。なんで?

4

4 に答える 4

-4
var allmonths = [
    '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'
];
var alldates = [
    '01', '02', '03', '04', '05', '06', '07', '08', '09', '10',
    '11', '12', '13', '14', '15', '16', '17', '18', '19', '20',
    '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'
];

var today = "2014-12-25";   
var aDayBefore = new Date(today);
aDayBefore.setDate(aDayBefore.getDate() - 1);

document.write(aDayBefore.getFullYear() 
  + '-' + allmonths[aDayBefore.getMonth()] 
  + '-' + alldates[aDayBefore.getDate() - 1]);
于 2014-12-03T06:22:18.210 に答える