javaScript時間と日付の比較

15126 ワード

考え方:2016-06-26 11:25と2016-08-26 11:50を比較すると、数字を比較して両者の大きさを比較したいです.つまり、20160626と20160826と比較して1125と1150を比較したところ、時間が同じであれば、特に比較しにくいです.まだ間違いがあります.(興味のある方は試してみてもいいです.)最後に日付の書式を引いて、new Dateのフォーマットに変えてから比較します.
<script type="text/javascript">
var fields= [            //           id
    "field33655",   //fields[0]    
    "field33657",   //fields[1]    
    "field33656",   //fields[2]    
    "field33658"    //fields[3]    
];

//        js
jQuery(document).ready(function(){
         console.log("    !");
    //    
    checkCustomize = function (){
        return  calculateDateFields();//true    ,false    
     };
});

//    
function calculateDateFields(){ 
       var startDate=jQuery('#'+fields[0]).val();//    
       var arr=startDate.split("-");
       var starttime = new Date(arr[0], arr[1], arr[2]);
       var starttimes = starttime.getTime();

    var endDate=jQuery('#'+fields[2]).val();//    
        var arrs=endDate.split("-");
        var lktime = new Date(arrs[0], arrs[1], arrs[2]);
        var lktimes = lktime.getTime();


       var now= new Date(); 
        var date=now.getFullYear()+"-"+((now.getMonth()+1)<10?"0":"")+(now.getMonth()+1)+"-"+(now.getDate()           <10?"0":"")+now.getDate() 
        var arrss=date.split("-");
        var nowtime= new Date(arrss[0], arrss[1], arrss[2]);
        var nowtimes= nowtime.getTime();
         if(starttimes >nowtimes&&lktimes>nowtimes){
        if (starttimes >lktimes) {
             alert('          ,   ');
             jQuery('#'+fields[2]).val('');//      
               jQuery('#'+fields[2]+'span').text('');//      
             return false;
        }
        else if(starttimes ==lktimes){
               if(calculateTimeFields()){
                       return true; 
               }
               else{
                     jQuery('#'+fields[3]).val('');//      
                         jQuery('#'+fields[3]+'span').text('');//      
                     return false;
               }
       }
        else{
               if(calculateTimeFields()){
                    return true; 
              }else{
                  alert("            ");
                  jQuery('#'+fields[3]).val('');//      
                      jQuery('#'+fields[3]+'span').text('');//      
                  return false;
               }
         }
      }else if(lktimes>nowtimes&&starttimes<=nowtimes){
            alert("                ,   ");
      }else if(lktimes<=nowtimes&&starttimes>nowtimes){
           alert("                ,   ");
      }
      else{
          alert("                     ,   ");
      }
}
//    
function calculateTimeFields(){ 
        console.log("    2");
       var checkresult= [0,0];
       var beginTime = jQuery('#'+fields[0]).val()+ jQuery('#'+fields[1]).val();
       var endTime= jQuery('#'+fields[2]).val()+ jQuery('#'+fields[3]).val();
       var beginTimes=beginTime .substring(0,10).split('-');
       var endTimes = endTime.substring(0, 10).split('-');
       beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
       endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
       var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000;
       if (a < 0) {
        alert("            ");
        return false;
       } else if (a > 0) {
        return true;
       } else if (a == 0) {
        alert("             !");
        return false;
       } else {
        return 'exception'
    }

}
script>
詳細は参照できます
js    (yyyy-mm-dd)

 function duibi(a, b) {
    var arr = a.split("-");
    var starttime = new Date(arr[0], arr[1], arr[2]);
    var starttimes = starttime.getTime();

    var arrs = b.split("-");
    var lktime = new Date(arrs[0], arrs[1], arrs[2]);
    var lktimes = lktime.getTime();

    if (starttimes >= lktimes) {

        alert('          ,   ');
        return false;
    }
    else
        return true;

}



js    (yyyy-mm-dd hh:mi:ss)

function comptime() {
    var beginTime = "2009-09-21 00:00:00";
    var endTime = "2009-09-21 00:00:01";
    var beginTimes = beginTime.substring(0, 10).split('-');
    var endTimes = endTime.substring(0, 10).split('-');

    beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
    endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);

    alert(beginTime + "aaa" + endTime);
    alert(Date.parse(endTime));
    alert(Date.parse(beginTime));
    var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000;
    if (a < 0) {
        alert("endTime !");
    } else if (a > 0) {
        alert("endTime !");
    } else if (a == 0) {
        alert("    !");
    } else {
        return 'exception'
    }
}