サービスの時間使用量に基づいてクライアントに課金するアプリケーションを作成しています。問題は、サービスが 1 日の事前に指定された時間帯に 2 倍の料金を請求される可能性があることです。
たとえば、ドキュメントを印刷するサービスがあり、プリンターの使用料金が 1 時間あたり 5 ユーロで、23:00 から午前 2:00 までは 10 ユーロであるとします。また、クライアントは好きなだけプリンターをレンタルできます。これは、1分から数か月、さらには数年になる場合があります。
今、特定の問題:
クライアントが私のオフィスに来て、プリンターを 55 時間レンタルするとします。また、レンタルは夜20時からです。
したがって、充電は 1 回の充電で 43 時間、2 回の充電で 12 時間必要です。2 つの例の画像を次に示します。
さて、時間について追加情報をお伝えしましょう。プログラミングでは、各時間には、1970 年 1 月 1 日 00:00:00 から秒単位まで経過した時間であるというタイムスタンプがあります。
したがって、日付2012 年 7 月 5 日 11:15:40のタイムスタンプは1373022940であり、日付2012 年 7 月 5 日 11:15:50のタイムスタンプは1373022950 です。
上記の例では、最初の例が 2013 年 5 月 1 日の日付に配置されているとします。したがって、23:00 のタイムスタンプは1367449200になり、3 日後の午前 02:00 のタイムスタンプは1367546400になります。
今質問:
時間枠から二重請求時間の期間を抽出する方法はありますか? もしそうなら、プロセスは何ですか?