扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
小编给大家分享一下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是一个未来一个星期的这个房间的每天价格表。
以上是“javascript如何实现获取一个日期段内每天不同的价格”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流