2012-05-08 5 views
0

私はリムジンサービスのウェブサイトを作成しており、事前にリクエストしているサービスの料金を提供する必要があります。JavaScriptを使用した時間の細分化と隔離

通常のサービスは1分$ 1です。しかし、深夜から午前8時までのすべての時間は保険料とみなされ、2ドルかかる。

ここでは、複雑な部分があります。私は価格を生成するためにクライアントが定期的にプレミアムで支払っている時間を分離する必要があります。

たとえば、サービスが午後9時から午前2時までの場合、クライアントは1ドル/分で3時間、2ドル/分で2時間を支払う。

どのように私は午後9時と午前2時を取得し、180分+ 120分に変換しますか?

Btw、私はhttp://code.google.com/p/datejs/で改ざんした。しかしそれはちょうど働いていませんでした。これを行うスマートな "数学"の方法はありますか?ヘルプみんなのため

感謝:)

+0

ユーザーは現在、予約したい時間をどのように選択していますか?単純に一連のselect要素を24時間形式の時間で使用しているのであれば、これは比較的単純なものでなければなりません。 – BenM

+0

@BenMロジック(そのテキストボックスのみ)を構築するときに、プレースホルダフォームがあります。パートナーがルックスをします。しかし、一連の選択要素がどのように役立つかについて少し詳しく説明できますか? – PCoelho

答えて

0

だから、プレミアムの時間はすべて午前中ですそれはP.M. 12時から9時までの時間を控除してください。例12-9と3時間が得られたら、0時間に0を加えてください。もう1時間はもちろん2時間です。その後60分で時間を取得します。一度あなたはそれぞれの金額にその金額を乗算して加算します。 am/pmに変数をtrue/falseに設定するトグルを設定します。

コードは次のようなものになります:

//start_time and end_time are objects that have 2 properties, am/pm 
//which is a bool and time which is a int 
function calc_time(start_time,end_time){ 
    var normal_pay; 
    var premium_pay; 
    if(start_time.pm == true){ 
    normal_pay = 12 - start_time.time; 
    normal_pay = normal_pay * 60; 
    } else{ 
    normal_pay = 0 + start_time.time; 
    normal_pay = normal_pay * 60 * 2; //this is premium time the whole night was premium pay 
    } 

    if(end_time.am == true){ 
    premium_pay = 0 + end_time.time; 
    premium_pay = premium_pay * 60 * 2; 
    } else { 
    premium_pay = 12 - end_time.time; 
    premium_pay = premium_pay * 60; //this is normal time the whole night was normal pay 
    } 

    return premium_pay + normal_pay; 
} 

これは、あなたがまだ分のようなものを考慮する必要があり、すべてを解決していないが、彼らは3:25で終了したいが、それはそれは難しいことではないと言います。

関連する問題