81,092
社区成员
发帖
与我相关
我的任务
分享
var picker = new Pikaday(
{
field: document.getElementById('datepicker1'),
firstDay: 1,
minDate: new Date('2010-01-01'),
maxDate: new Date('2020-12-31'),
yearRange: [2000,2020]
});
var picker = new Pikaday(
{
field: document.getElementById('datepicker2'),
firstDay: 1,
minDate: new Date('2010-01-01'),
maxDate: new Date('2020-12-31'),
yearRange: [2000,2020]
});
function showActualPay(){
var checkOutData = document.getElementById('datepicker1').value;
var checkInData = document.getElementById('datepicker2').value;
var checkOutArray = checkOutData.split("-");
console.log('退房年份' + checkOutArray[0] );
console.log('退房月份' + checkOutArray[1] );
console.log('退房日期' + checkOutArray[2] );
var checkInArray = checkInData.split("-");
console.log('入住年份' + checkInArray[0] );
console.log('入住月份' + checkInArray[1] );
console.log('入住日期' + checkInArray[2] );
}
</script>
function(){
//获取退房日期(一种实现),使用日期插件的话一般都有专门的方法来获取相应的值
var checkOutDate = document.getElementById("checkOutDate");//退房日期
var checkInDate = document.getElementById("checkInDate");//入住日期
var prePay = document.getElementById("prePay");//预付金额
//计算入住天数
Calendar checkIn = Calendar.getInstance(Locale.CHINA);
checkIn.setTime(checkInDate);//checkIn为Date类型
var checkInMouth = checkIn.get((Calendar.Month) + 1);
var checkInDay = checkIn.get(Calendar.DAY_OF_MOUTH);
Calendar checkOut = Calendar.getInstance(Locale.CHINA);
checkOut.setTime(checkOutDate);//checkOutDate为Date类型
var checkOutMouth = checkIn.get((Calendar.Month) + 1);
var checkOutDay = checkIn.get(Calendar.DAY_OF_MOUTH);
if(checkInMouth == checkOutMouth){
//入住日期和退房日期在同一个月
var checkTime = checkOutDay - checkInDay;
}else{
//不在同一个月,先获取入住日期当月的总天数 + 退房日期当月入住的天数
var checkInMouthDay = checkInDate.getActualMaximum(Calendar.DATE);
var checkTime = checkMouthDay + checkOutDay;
}
var actualPay = 单价 * checkTime - 200;
}
LZ可以给退房日期绑定一个事件,退房日期选定之后触发上面的JS方法,计算实际应付的金额,然后赋值到应付金额文本框中。注意:以上方法我是按照JAVA后台代码来写的,LZ实际用到的话可以按照相关的JS代码用法进行相应修改。以下为本人的一篇有关日期时间计算的文章,希望对你有帮助。
http://blog.csdn.net/lmb55/article/details/50253825
var dateStartMillons = new Date("2016/02-02").getTime();
var dateEndMillons = new Date("2016/02-20").getTime();
var differDays = (dateEndMillons - dateStartMillons) / (24 * 60 * 60 * 1000);
alert(differDays);
var 退房日期=new Date();
退房日期.setFullYear(2016,2,26);//带时区的,中国时区是UTC+8
var 入住日期=new Date();
入住日期.setFullYear(2016,2,2);
var days=(退房日期-入住日期)/(24*60*60)+1;
var money=days*房价;
var real_money;
if(money>=预付金){
real_money=money-预付金;
}else{
real_money=预付金-money;
}
基本思路就这样