javascript实现获取一个日期段内每天不同的价格(计算入住总价格)


Posted in Javascript onFebruary 05, 2018

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实现获取一个日期段内每天不同的价格(计算入住总价格),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
SyntaxHighlighter语法高亮插件使用说明
Aug 14 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
Sep 01 Javascript
关于 文本框默认值 的操作js代码
Jan 12 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
Sep 03 Javascript
Jquery获得控件值的三种方法总结
Feb 13 Javascript
js子页面获取父页面数据示例
May 15 Javascript
ie 7/8不支持trim的属性的解决方案
May 23 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
Mar 02 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
Vue.js实现tab切换效果
Jul 24 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
vue实现图片加载完成前的loading组件方法
Feb 05 #Javascript
JS设计模式之策略模式概念与用法分析
Feb 05 #Javascript
Node.js成为Web应用开发最佳选择的原因
Feb 05 #Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 #Javascript
javascript实现最长公共子序列实例代码
Feb 05 #Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 #Javascript
基于vue 动态加载图片src的解决方法
Feb 05 #Javascript
You might like
PHP新手上路(十四)
2006/10/09 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
jquery的index方法实现tab效果
2011/02/16 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
js快速排序的实现代码
2013/12/08 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
js对象的复制继承实例
2015/01/10 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
使用react render props实现倒计时的示例代码
2018/12/06 Javascript
微信小程序收货地址API兼容低版本解决方法
2019/05/18 Javascript
Element-ui DatePicker显示周数的方法示例
2019/07/19 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python爬取内容存入Excel实例
2019/02/20 Python
python调用动态链接库的基本过程详解
2019/06/19 Python
python GUI库图形界面开发之PyQt5中QWebEngineView内嵌网页与Python的数据交互传参详细方法实例
2020/02/26 Python
基于python实现坦克大战游戏
2020/10/27 Python
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
客服实习的个人自我鉴定
2013/10/20 职场文书
体育课课后反思
2014/04/24 职场文书
python 逐步回归算法
2021/04/06 Python
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js