ホームページ > 記事 > ウェブフロントエンド > JSがホテルの宿泊費を自動計算
この記事では主に、日付範囲内で 1 日あたりのさまざまな料金を取得するための関連情報を実装するための 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 は、この部屋の来週の日次料金表です。 。 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイト
その他の
関連記事に注目してください。renderメソッドを使用した画像とテキストの詳細な説明
アプレットは.getImageInfo()を使用して画像情報を取得します
以上がJSがホテルの宿泊費を自動計算の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。