0

抱歉,如果重复但找不到任何可以帮助我的类似内容。

我正在使用日期时间选择器

我正在尝试根据 Day + time 计算日期范围

直到现在我带着这个 In JS

$('#calculate').click(function(event){
  event.preventDefault();
  var darrival = $('#darrival').val();
  var rdate = $('#rdate').val();
  var start = new Date(darrival);
  var end= new Date(rdate);
  var finaltime=(end-start)/1000/60/60;
  alert(finaltime);
});

但我得到了 NaN。我做了

console.log(start)

它显示“无效日期”

我取的值(var darrival = $('#darrival').val();)看起来像:26-08-2013 01:08

我猜新日期不计算时间有人可以提出建议吗?谢谢转发。

4

2 回答 2

2

我认为您需要在代码中更改不止一件事..

1) you need specify language and format while building datetimepicker

2) you need to get data using datpicker's api not using the textbox

请看我下面的例子,这可能对你有帮助

<body>

    <div class="well">

      <div id="rdate" class="input-append date">
        <input data-format="dd-MM-yyyy hh:mm:ss" type="text" id="date1"></input>
        <span class="add-on">
          <i data-time-icon="icon-time" data-date-icon="icon-calendar">
          </i>
        </span>
      </div>


        <div id="darrival" class="input-append">
            <input data-format="dd-MM-yyyy hh:mm:ss" type="text"  id="date2"></input>
            <span class="add-on">
                <i data-time-icon="icon-time" data-date-icon="icon-calendar">
                </i>
            </span>
        </div>



    </div>

    <input type='button' name='calculate' id='calculate' value='click this' onclick='fn1()'>

    <script type="text/javascript">
      $(function() {
        $('#darrival').datetimepicker({
            format: 'dd/MM/yyyy hh:mm:ss',
            language: 'pt-BR'
        });

        $('#rdate').datetimepicker({
            format: 'dd/MM/yyyy hh:mm:ss',
            language: 'pt-BR'
        });


      });
    </script>

    <script type="text/javascript">

        $('#calculate').click(function(event){

          event.preventDefault();
          var picker1 = $('#darrival').data('datetimepicker');
          var picker2 = $('#rdate').data('datetimepicker');
          var start = new Date(picker1.getDate());
          var end= new Date(picker2.getDate());
          var finaltime=(end-start)/1000/60/60;
          alert(finaltime);

        });
    </script>

</body>
于 2013-08-26T12:54:57.577 回答
1

您可以使用moment.js 差异方法来计算日期范围。

于 2013-08-26T12:26:50.493 回答