我有一个JQuery日期选择器,它输出一个span标签中的晚数,但有时这个数字是整体出来的,有时是小数。我如何修改这个脚本,以便输出的夜晚总是一整天。
<script type="text/javascript">
//<![CDATA[
// check-out date >= check-in date
function customRange(dates) {
if (this.id == 'startdate') {
jQuery('#enddate').datepick('option', 'minDate', dates[0] || null);
}
else {
jQuery('#startdate').datepick('option', 'maxDate', dates[0] || null);
}
var edt = jQuery('#ed_timestamp').val();
var sdt = jQuery('#sd_timestamp').val();
if ((edt > 0) && (sdt > 0)) {
jQuery('span.nights').text((edt - sdt) / (3600*24) + ' night(s)');
} else {
jQuery('span.nights').text('');
}
}
jQuery(document).ready(function(){
// Datepick input fields
jQuery('#startdate').datepick({
onSelect: customRange,
showTrigger: '#trigger',
altField: '#sd_timestamp',
altFormat: jQuery.datepick.TIMESTAMP
});
jQuery('#enddate').datepick({
onSelect: customRange,
showTrigger: '#trigger',
altField: '#ed_timestamp',
altFormat: jQuery.datepick.TIMESTAMP
});
});
//]]>
</script>
提前致谢
答案 0 :(得分:0)
您可以使用getDate
从datepicker获取日期对象,然后按如下方式计算差异:
var edt = jQuery('#ed_timestamp').datepicker('getDate');
var sdt = jQuery('#sd_timestamp').datepicker('getDate');
Math.ceil((edt.getTime()-sdt.getTime())/1000*60*60*24)
注意1000 * 60 * 60 * 24是一天内的毫秒数。
见 - JavaScript日期 - http://www.w3schools.com/js/js_obj_date.asp并计算两个日期之间的差异 - http://www.javascriptkit.com/javatutors/datedifference.shtml