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.split("-")
var getDays = new Date(dateObj).getDay() == 0 ? 7 : new
Date(dateObj).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})
}//根据星期几和特殊日期来获取每天的价格
if (getDays == objroom[h].match) { //对比星期
feeroom.push({ fee: objroom[h].fee, date: dateObj })
}
}
}
return feeroom //最后列出每天的价格,和日期返回
}
times传入的是入住日期和离店日期格式为:‘[2018-01-20,2018-01-26]',objroom是一个未来一个星期的这个房间的每天价格表。

总结

以上所述是小编给大家介绍的javascript实现获取一个日期段内每天不同的价格(计算入住总价格),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!


您可能感兴趣的文章:js 两个日期比较相差多少天的实例JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】js Date()日期函数浏览器兼容问题解决方法WdatePicker.js时间日期插件的使用方法JavaScript+html5实现的日期比较功能示例JavaScript输出所选择起始与结束日期的方法

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: JavaJavaScriptHTML5HTML浏览器UTUTC谢大
tags: var,日期,dateObj,objroom,Date,new,价格,times,str,fee,end,js,timedate,feeroom,入住
分页:12
转载请注明
本文标题:javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
本站链接:https://www.codesec.net/view/572157.html


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(55)