日曜日から土曜日までの現在の日付をチェックし、それが過去、現在、または期日であるかどうかを確認するループがあります。来週はいつもショー!javascriptループスルー日付 - 停止して正しい日付を表示
を次のようにロジックが、それは現在の平日、その後の表示今日の日付、 であれば、それは過去の平日であれば、それは来る日の場合、次の週の日付、 を取得するには、その日+ 7を表示でその日付を表示します。
ここに私がまとめたコードがあります。
document.getElementById('youchose').innerHTML = localStorage.day;
window.myDate = new Date();
if(localStorage.getItem("setDate") != null && localStorage.setDate != null && localStorage.setDate!="0000-00-00" && localStorage.setDate!=""){
a = localStorage.setDate;
a = a.split("-");
if(a.length >= 1){
window.myDate= new Date(a[0],a[1]-1,a[2]);
} else {
window.myDate = new Date();
}
}
var weekdays = new Array();
weekdays['Sunday'] = 0;
weekdays['Monday'] = 1;
weekdays['Tuesday'] = 2;
weekdays['Wednesday'] = 3;
weekdays['Thursday'] = 4;
weekdays['Friday'] = 5;
weekdays['Saturday'] = 6;
//loop starts
for(weeki=0; weeki <= 7; weeki++){
if(window.myDate.getDay() == weekdays[localStorage.day]){ //for current day
SelectFromDB();
window.myDate.setDate(window.myDate.getDate());
weeki = 100;
break;
}else if(window.myDate.getDay() > weekdays[localStorage.day]) { //for previous days
window.myDate.setDate(window.myDate.getDate()-1);
}else{
window.myDate.setDate(window.myDate.getDate()+1); // for next days
}
}
すべての日付に7を加算するだけではありません。 私は何が不足しています。それを数日見ていたようです。
ありがとうございました
これはあなたの質問に対する直接的な答えではないので、ここでそれを説明します。あなたがJavaScriptで多くの日付を扱っているなら、http://momentjs.com/を見てください。 – Luke3butler
ありがとうルーク、私はそれを調べます。私はmoment.minとmoment.maxを使って簡単にすると思いますか? – Diggetydog
正直言って、私はあなたが達成しようとしていることについて少し混乱しています。あなたが期日に期日のようなものを取得しようとしている場合(期日、期限、期限までにどれくらいの期間が経過しているかを見るために)、あなたは 'moment(dateobject).isBefore(dateobject)'や ' (dateobject).isAfter(dateobject) 'と' .from(date) 'と' .to(date) ' – Luke3butler