Leo*_*ham 7 javascript jquery datetime
我有两个输入字段来输入日期,这是一个jquery datepicker.使用它我可以选择日期.他们是登记入住和退房日期.
同样,我有两个选择框,我可以从中选择时间.他们是登记入住和退房时间.
例如:
Check in date: 01/05/2014
Check in time: 13:00
Check out date: 04/05/2014
Check out time: 18:00
Run Code Online (Sandbox Code Playgroud)
我想要的结果:(01/05/2014 13:00)和(04/05/2014 18:00)之间的差异,如3 天5小时
现在我得到了结果 NAN
以下是我使用的脚本:
$(document).ready(function(){
$("#diff").focus(function(){
var start = new Date($('#din').val());
var end = new Date($('#dou').val());
var diff = new Date(end - start);
var days = Math.floor(diff/1000/60/60/24);
var hours = Math.floor((diff % ( 1000 * 60 * 60 * 24)) / 1000 / 60 / 60);
$("#diff").val(days+' Day(s) '+hours+' Hour(s)');
});
});
Run Code Online (Sandbox Code Playgroud)
$(document).ready(function () {
function ConvertDateFormat(d, t) {
var dt = d.val().split('/'); //split date
return dt[1] + '/' + dt[0] + '/' + dt[2] + ' ' + t.val(); //convert date to mm/dd/yy hh:mm format for date creation.
}
$("#diff").focus(function () {
var start = new Date(ConvertDateFormat($('#din'), $('#tin')));
var end = new Date(ConvertDateFormat($('#dout'), $('#tout')));
console.log(start, end);
var diff = new Date(end - start);
var days = Math.floor(diff / 1000 / 60 / 60 / 24);
var hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / 1000 / 60 / 60);
$("#diff").val(days + ' Day(s) ' + hours + ' Hour(s)');
});
});
Run Code Online (Sandbox Code Playgroud)
ConvertDateFormat(d,t)将日期转换为当前格式。
要得到new Date('mm/dd/yy hh:mm')
问题
打字错误
var end = new Date($('#dout').val());
// ^ missing t in id it's dout not dou
Run Code Online (Sandbox Code Playgroud)
这使得无效,所以当你减去 时date你会得到。NaNinvalid Date