2013-05-07 2 views
0

Я пытаюсь рассчитать дни между определенной датой, я использую дату и время. На хром отлично работает, но на Firefox дает мне «NaN», не тестировал это напр., Но я думаю, что это будет тот же результат. jquery расчет даты и времени firefox NaN

  <form action="" enctype="multipart/form-data" id="userForm" method="post"> 
      <table border="0"> 
      <tbody>    
       <tr class="rsform-block rsform-block-paemimodata"> 
       <td>Delivery Date (*)</td> 
       <td><input type="text" class="datepicker rsform-input-box hasDatepicker" id="paemimodata" name="form[paemimodata]" size="20" value="2013-05-15"></td> 

       </tr> 
       <tr class=""> 
       <td>Time (Hours) (*)</td> 
       <td><select class="rsform-select-box" id="paemimolaikas" name=""><option value="01">01</option> 
        <option value="02">02</option> 
        <option value="03">03</option> 
        <option value="04">04</option> 
        <option value="05">05</option> 
        <option value="06">06</option> 
        <option value="07">07</option> 
        <option value="08">08</option> 
        <option value="09">09</option> 
        <option value="10">10</option> 
        <option value="11">11</option> 
        <option value="12">12</option> 
        <option value="13">13</option> 
        <option value="14">14</option> 
        <option value="15">15</option> 
        <option value="16">16</option> 
        <option value="17">17</option> 
        <option value="18">18</option> 
        <option value="19">19</option> 
        <option value="20">20</option> 
        <option value="21">21</option> 
        <option value="22">22</option> 
        <option value="23">23</option> 
        <option value="24">24</option> 
        </select> 
     </td> 
       </tr> 
       <tr class=""> 
       <td>Time (minutes)</td> 
       <td><select class="rsform-select-box" id="paemimolaikasmin" name=""> 
        <option value="05">05</option> 
        <option value="10">10</option> 
        <option value="15">15</option> 
        <option value="20">20</option> 
        <option value="25">25</option> 
        <option value="30">30</option> 
        <option value="35">35</option> 
        <option value="40">40</option> 
        <option value="45">45</option> 
        <option value="50">50</option> 
        <option value="55">55</option> 
        <option value="00">00</option> 
        </select> 
       </td> 

Дата возврата () Время (часы) () Время (минуты)

 </form> 
      </xmp> 

Java Script

   <pre> 


      jQuery(function ($) { 

      function coundays() { 


      var starter = $('#paemimodata').val(); 

      var starterhour = $('#paemimolaikas').val(); 
      var startermin = $('#paemimolaikasmin').val(); 


      var ender = $('#grazinimodata').val(); 

      var enderhour = $('#grazinimolaikas').val(); 
      var endermin = $('#grazinimolaikasmin').val(); 

      var fullstarter = starter + ' ' + starterhour + ':' + startermin + ':00'; 

      var fullender = ender + ' ' + enderhour + ':' + endermin + ':00'; 

       var start = new Date(fullstarter); 
       var end = new Date(fullender); 
      var diff = new Date(end - start); 
      var days = diff/1000/60/60/24; 


      alert(days); 

      }; 


      coundays(); 


       $('#userForm').on('change', function() { 
        coundays(); 

       }); 






      }); 


       </pre> 

Js fidlle

http://jsfiddle.net/dezignas/j2HGw/13/

Что я здесь делаю неправильно?

+0

Вы пытались использовать [parseInt] (http://www.w3schools.com/jsref/jsref_parseint.asp)? –

ответ

1

Убедитесь в том, чтобы передать строку на новую дату, которая является ISO 8601 уступчивый, например "2013-04-05T14: 30". Тогда это должно работать для всех современных браузеров. В вашем случае я думаю, что T отсутствует между датой и временем.

+0

Спасибо, указана в правой строке добавлена ​​строка "2013-04-05T14: 30: 00Z" – andy

Смежные вопросы