ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptを使用して日付範囲内の毎日の異なる価格を取得する方法

JavaScriptを使用して日付範囲内の毎日の異なる価格を取得する方法

亚连
リリース: 2018-06-07 16:41:41
オリジナル
1696 人が閲覧しました

この記事では主に、日付範囲内の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 は、この部屋の来週の日次料金表です。 。

上記は私があなたのためにまとめたものです。

関連記事:

Vue Socket.io ソースコードの詳細な分析

Vue コンポーネント通信 (詳細なチュートリアル)

Javascript の日常的なエラー

以上がJavaScriptを使用して日付範囲内の毎日の異なる価格を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート