2015-06-02 2 views
0

Я просмотрел несколько сообщений и попробовал несколько вариантов, но не смог сравнить две даты, которые включают время от datetimepicker.Datetimepicker, сравнивая две даты/время

Это JQuery DateTimePicker находится здесь: https://plugins.jquery.com/datetimepicker/

У меня есть два раза в виде так:

<tr> 
<td colspan="2"> 
<label for="">Start Time</label> 
<input id="datetimepicker" class="form-control" type="text" placeholder="Click to Select"></td> 
<td colspan="2"> 
<label for="">End-Time</label> 
<input id="datetimepicker2" class="form-control" type="text" placeholder="Click to Select"> 
</td> 
</tr> 

Теперь я хочу, чтобы иметь возможность сравнить время начала и время окончания, так что это общее количество часов.

Я знаю, как получить значение от входов и т.д. просто не так, как сравнивать два последнюю дату, когда они находятся в формате каждых ниже:

var startTime = $('#datetimepicker').val(); //2015/06/25 02:18 

var endTime = $('#datetimepicker2').val(); //2015/06/27 12:25 

var timesCompared = startTime -> endTime; //Calculate how many hours,minutes between the two dates (-> is just for visuals). 

Спасибо за любую помощь, которая предоставляется.

+1

вы можете использовать js plugin moment.js для этого .. – geo

ответ

2

Пожалуйста, попробуйте этот

var start_actual_time = "01/17/2012 11:20"; 
var end_actual_time = "01/18/2012 12:25"; 

start_actual_time = new Date(start_actual_time); 
end_actual_time = new Date(end_actual_time); 

var diff = end_actual_time - start_actual_time; 

var diffSeconds = diff/1000; 
var HH = Math.floor(diffSeconds/3600); 
var MM = Math.floor(diffSeconds%3600)/60; 

var formatted = ((HH < 10)?("0" + HH):HH) + ":" + ((MM < 10)?("0" + MM):MM) 
alert(formatted); 

See this fiddle here

1

Он также работает с этим. Можешь попробовать.

var startDate; 
     $("#startdate").datetimepicker({ 
        timepicker:true, 
        closeOnDateSelect:false, 
        closeOnTimeSelect: true, 
        initTime: true, 
        format: 'd-m-Y H:m', 
        minDate: 0, 
        roundTime: 'ceil', 
        onChangeDateTime: function(dp,$input){ 
           startDate = $("#startdate").val(); 
                  } 
                  }); 
     $("#enddate").datetimepicker({ 
        timepicker:true, 
        closeOnDateSelect:false, 
        closeOnTimeSelect: true, 
        initTime: true, 
        format: 'd-m-Y H:m', 
        onClose: function(current_time, $input){ 
          var endDate = $("#enddate").val(); 
          if(startDate>endDate){ 
            alert('Please select correct date'); 
          } 
      } 
       });