Home  >  Article  >  Web Front-end  >  JS automatically calculates hotel accommodation costs

JS automatically calculates hotel accommodation costs

php中世界最好的语言
php中世界最好的语言Original
2018-03-23 14:02:232710browse

This article mainly introduces the relevant information of javascript to obtain different prices per day within a date range (calculating the total price of stay). Friends in need can refer to the following

Code example

I was recently developing a small program project for a hotel and encountered such a problem.

The hotel room price is floating, and the price is different every day, hour or on a special date. If the user selects a house for the next 5 days, and the prices happen to be different during these 5 days, and there are special days, how to calculate the total price for the 5 days?

The following example lists all the dates within this date range based on the check-in date and check-out date:

You will use this function in several places, so To encapsulate: Create a separate js file

function Thedatefor(times,objroom){ // 日期段 objroom房间价格表,有星期和特殊日期
 var dateObj = []
 var feeroom = [] // 计算后总价格表
 var str = times[0].split("-") // 入住日期
 var end = times[1].split("-") //离店日期
 var strs = new Date();
 strs.setUTCFullYear(str[0], str[1] - 1, str[2]); //设置年份
 var ends = new Date();
 ends.setUTCFullYear(end[0], end[1] - 1, end[2]); //设置年份
 var strdate = strs.getTime(); //毫秒
 var enddate = ends.getTime(); // 毫秒
 for (var b = strdate; b <= enddate;) { // 遍历出所有日期段
 dateObj.push((new Date(parseInt(b))).format().toString());
 b = b + 24 * 60 * 60 * 1000;
 }
 for (var b = 0; b < dateObj.length;b++){  //dateObj拿到的所有日期
 var timedate = dateAllArr[b].split("-")  
 var getDays = new Date(dateObj[b]).getDay() == 0 ? 7 : new 
Date(dateObj[b]).getDay() //这里可以转换成星期几的
 for (var h = 0; h < (objroom.length - 1);h++){ 
  if (parseInt(timedate[0] + timedate[1] + timedate[2]) == objroom[h].match){ // 对比特殊日
  feeroom.push({ fee: objroom[h].fee, date: dateObj[b]})
  }//根据星期几和特殊日期来获取每天的价格
  if (getDays == objroom[h].match) { //对比星期
  feeroom.push({ fee: objroom[h].fee, date: dateObj[b] })
  }
 }
 }
 return feeroom //最后列出每天的价格,和日期返回
}

times. The check-in date and check-out date format is: '[2018-01-20,2018-01-26]', objroom is a future Daily price list for this room for a week.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to the php Chinese website Other related articles!

Recommended reading:

Detailed explanation of graphics and text using render method

##The small program uses .getImageInfo() to obtain image information

The above is the detailed content of JS automatically calculates hotel accommodation costs. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn