当前位置: 首页 > 编程笔记 >

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

丌官霖
2023-03-14
本文向大家介绍javascript实现获取一个日期段内每天不同的价格(计算入住总价格),包括了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实现获取一个日期段内每天不同的价格(计算入住总价格),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 问题内容: 我有两个表如下 桌子 和一张桌子 我想做的是,计算每种产品的小计价格(数量*价格),然后求和整个订单的TOTAL值。 我正在尝试这样的事情 但是当然那是行不通的:) 任何帮助表示赞赏! 编辑: 我只想显示整个订单的总数,因此基本上是OrderItem中每一行的Quantity * Price的总和。这是一些示例数据。 样本数据 桌子产品 表OrderItem 中号 问题答案: 使用:

  • 我正在尝试从阿尔法Vantage API获得最新的盘中价格。目前是星期五,东欧时间晚上9点16分。我想买特斯拉的股票。市场仍然开放。但是,API调用只返回昨天的数据。会有什么问题?

  • 问题内容: 我有这张表来查询不同季节(高,低)季节的房间价格 如何获得不同天数和不同季节的5天总价.. 看这张表 这是我的命令(mysql)我想从 2013年4月7日* 到 2013年 11月7日获得10晚的总价格 * 添加 我写了这个命令,但是还是没用 错误:#1305-功能saudihot_saudihotels.strtodate不存在 问题答案: 这是查询: 注意,表达式要简单得多,现在星

  • 问题内容: 我有这些表: 我如何计算这些列的总价: 对于每种产品: 适用于所有含运费的产品 问题答案: 您可以通过访问属性来检索 _数据透视_表的列,该属性已经存在了很长时间了 默认情况下,只有模型关键点会出现在枢轴对象上。如果数据透视表包含额外的属性,则在定义关系时必须指定它们: 在您的情况下,您可以像下面的代码中那样定义关系: 现在,可以通过属性(例如)访问表上的列。 最后,这是计算订单总数的

  • 本文向大家介绍jQuery实现购物车计算价格功能的方法,包括了jQuery实现购物车计算价格功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现购物车计算价格功能的方法。分享给大家供大家参考。具体如下: 目的 实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改。 实现思路 1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到J

  • 我想尝试定义下面的公式来计算旧价格和新价格之间的关系,并在文本小部件上显示它,但当我想在双变量中使用它时,却出现了这样的错误:“只有静态成员可以在初始化器中访问”,这就是我想要做的: