jsは日付を実現して加減して、時間の差を求めます.
1783 ワード
実際の開発では、常に現在の時間とサービスの時間を計算し、最後に時間差を計算します.
js計算関数:
js計算関数:
function DateSuntraction(dateSubtraction,dateBeSubtracted){
var day = 24 * 60 * 60 *1000;
try{
var dateArraySubtraction = dateSubtraction.split("-");
var checkDateSubtraction = new Date();
checkDateSubtraction.setFullYear(dateArraySubtraction[0], dateArraySubtraction[1]-1, dateArraySubtraction[2]);
var checkTimeSubtraction = checkDateSubtraction.getTime();
var dateArrayBeSubtracted = dateBeSubtracted.split("-");
var checkDateBeSubtracted = new Date();
checkDateBeSubtracted.setFullYear(dateArrayBeSubtracted[0], dateArrayBeSubtracted[1]-1, dateArrayBeSubtracted[2]);
var checkTimeBeSubtracted = checkDateBeSubtracted.getTime();
var difference = (checkTimeSubtraction - checkTimeBeSubtracted)/day + 1;
return difference;
}catch(e){
return false;
}
}
定義された関数を使って、計算を行います.var date = new Date().Format("yyyy-MM-dd");
console.log("Time is;",date);
for(var i = 0; i < data.length; i++){
if(new Date(data[i].publishTime).Format("yyyy-MM-dd") > date){
data[i].day = " ";
}
else if(new Date(data[i].endTime).Format("yyyy-MM-dd") < date){
data[i].day = " ";
}
else if(new Date(data[i].publishTime).Format("yyyy-MM-dd") < date && date < new Date(data[i].endTime).Format("yyyy-MM-dd")){
data[i].day = " " + DateSuntraction(new Date(data[i].endTime).Format("yyyy-MM-dd"),date) + " ";
}
}
data[i].publishTimeはサービスから取得した時間です.