이 글에서는 날짜 범위 내에서 하루에 다른 가격을 얻기 위해 관련 정보를 구현하는 javascript(총 숙박 가격 계산)를 주로 소개합니다. 필요한 친구는
코드 예제를 참조하세요.
최근 호텔을 위한 소규모 프로그램 프로젝트를 개발할 때 이런 문제에 직면했습니다.
호텔 객실 가격은 변동이며 가격은 매일, 시간 또는 특정 날짜에 따라 다릅니다. 사용자가 다음 5일 동안 집을 선택했는데 이 5일 동안 가격이 달라지고 특별한 날이 있는 경우 5일 동안의 총 가격을 어떻게 계산합니까?
다음 예에서는 체크인 날짜와 체크아웃 날짜를 기준으로 이 날짜 범위의 모든 날짜를 나열합니다.
이 기능은 여러 곳에서 사용되므로 캡슐화해야 합니다. 별도의 js를 만듭니다. 파일
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는 '[2018-01-20, 2018-01-26]' 형식으로 체크인 날짜와 체크아웃 날짜를 전달하며, objroom은 다음 주 이 객실의 일일 가격표입니다. .
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트기타 관련 기사를 주목하세요!
추천 도서:
렌더링 메소드를 사용한 이미지와 텍스트에 대한 자세한 설명
애플릿은 이미지 정보를 얻기 위해 .getImageInfo()를 사용합니다
위 내용은 JS는 호텔 숙박 비용을 자동으로 계산합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!