2017-05-04 6 views
-3

今日までの最後の週の日を示すスクリプトが必要です。 しかし、4月のように月の早ければ、私のコードにこの問題があります。 私はgetDate()を使用しています。私を助けることができる機能はありますか?先週の日をJavaScriptでどのように表示できますか?

result

+1

コードを編集してコードを組み込んでください。ポスティングのガイドラインに従って:*デバッグヘルプ( "なぜこのコードは動作していないのですか?")には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれていなければなりません。 – Santi

答えて

1

あなたは曜日(1-月曜日、3-水曜日)を与えるgetDayメソッドを使用することができます。この値から、前日の曜日を表示するために、1-mondayまたは0-sundayまでループを減らすことができます。あなたはgetDate()を使用することができますが、あなたはすぐ下0とに行くのリスクとデクリメント変数に入れないでください5 Fri, 4 Thu, 3 Wed, 2 Tue, 1 Mon

1

var weekdays = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]; 
var d = new Date(); 
var currDay = d.getDay(); 
var currDate = d.getDate(); 
var str = ""; 
for(var count=currDay; count>=0 && currDate >= 1; count--, currDate--){ 
    str += currDate +" "+weekdays[count] + ", "; 
} 
console.log(str); 

今日の出力。

var dt = new Date(); 
 
headers = ['Hoje']; 
 
for (var i = 1; i < 7; i++) { 
 
    dt.setDate(dt.getDate() - 1); 
 
    headers.push(dt.toLocaleDateString('pt-PT').substr(0,5)); 
 
} 
 
console.log(headers);

1

移動するには:

代わりにあなたが望む形式の日付を読み出しその日によってあなたの日付オブジェクトの日をデクリメントするsetDate()(潜在的にgetDate()との組み合わせで)使用し、今月から7日以内であっても.setDate()は.getDate()が与える値よりも7日少ない値に設定されます。

var d = new Date() 
d.toDateString() 
"Thu May 04 2017" 

// go back a week 
d.setDate(d.getDate() - 7); 
1493321406767 

// prove that it worked 
d.toDateString() 
"Thu Apr 27 2017" 
関連する問題