私はカレンダー地獄にいます。私が望むことを実行する Python モジュールがそこに存在することを願っています。
サブスクリプションを扱う Python Web アプリを作成しています。概念的には、携帯電話のプランに似ています。特定の日付 (たとえば1.13.2011
) にサブスクリプションを開始すると、請求月ごとに多数の「セッション」 (通話) が発生し、料金が請求されます。
必要がある:
- 各セッションがどの請求月に該当するかを把握します。
- 各請求月の開始時刻と終了時刻を把握します。
たとえば、 にサインアップし1.13.2011
、 に電話をかけた1.20.2011
場合、最初の請求月にカウントされます。での電話も同じです2.10.2011
。ただし、 に電話をかけた場合は2.15.2011
、2 番目の請求月にカウントされます。
開始日と終了日について: 今日が2.15.2011
の場合、今月の開始日は2.13.2011
で、終了日は3.13.2011
です。
これはそれほど複雑ではないと思うかもしれませんが、月にはさまざまな長さがあることを考慮する必要があります。これを処理するためのルールは、サブスクリプションが任意の月の 30 日に開始された場合、各月の締め切り日はmin(30, n_days_in_that_month)
. これは 29、30、31 にも当てはまります。
これをコーディングしようとしましたが、複雑すぎました。私が探しているのは、これらのことを行う既製の既存のモジュールです。
神への愛のために、実装のスケッチで答えを投稿しないでください! これは私には役に立たない。私はあなたの意図に感謝しますが、カレンダー地獄では、実装のスケッチは役に立ちません. 私はすでに実装のスケッチを持っており、あなたのデバッグは私のデバッグと同じくらい時間がかかります。
このようなカレンダー タスクを処理する既存のモジュールを使用することにのみ関心があります。1つ知っていますか?