很抱歉,如果重复但无法找到任何可以帮助我的相似内容。
我正在使用datetime picker
我正在尝试根据Day + time计算日期范围
直到现在我才带来这个 在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
我猜新日期不计算任何人建议的时间吗? 谢谢你们。
答案 0 :(得分: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>
答案 1 :(得分:1)
您可以使用moment.js difference method来计算日期范围。