Maison > interface Web > js tutoriel > le corps du texte

JS calcule automatiquement les frais d'hébergement à l'hôtel

php中世界最好的语言
Libérer: 2018-03-23 14:02:23
original
2753 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes de javascript pour obtenir des prix différents chaque jour dans une plage de dates (le calcul du prix total du séjour peut se référer à

Exemple de code

Je développais récemment un petit projet de programme pour un hôtel et j'ai rencontré un tel problème.

Les prix des chambres d'hôtel sont

fluctueux, et les prix fluctuent chaque jour, heure de la journée ou à une date spéciale. Si l'utilisateur sélectionne une maison pour les cinq jours suivants et que les prix pour ces cinq jours sont différents et qu'il y a des jours spéciaux, comment calculer le prix total pour les cinq jours ?

L'exemple suivant répertorie toutes les dates de cette plage de dates en fonction de la date d'arrivée et de la date de départ :

Vous utiliserez cette fonction à plusieurs endroits, donc pour l'encapsuler : Créez un fichier js séparé

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 //最后列出每天的价格,和日期返回
}
Copier après la connexion
temps passés dans la date d'arrivée et la date de départ au format : '[2018-01-20,2018-01-26]', objroom est A liste de prix quotidienne pour cette chambre pour la semaine à venir.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez faire attention au site Web php chinois

Autres articles liés !

Lecture recommandée :

Explication détaillée des images et des textes à l'aide de la méthode de rendu

L'applet utilise .getImageInfo() pour obtenir l'image informations

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!