jsは日付を実現して加減して、時間の差を求めます.

1783 ワード

実際の開発では、常に現在の時間とサービスの時間を計算し、最後に時間差を計算します.
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はサービスから取得した時間です.