Javaの2つの日付範囲の間に週と月を取得したいと考えました。 EXについて、 開始日:2012年3月1日 終了日:二つの日付は、2つの異なる週に落ちるので、2012年3月5日2つの日付間の週Java + Joda時間
私は結果が2ではなく0
になりたいです問題の第二の部分は次のとおりです。 スタート日:2012年2月29日 終了日:間の月の2012年3月1日
数が、私はこれについてオンラインで検索されている2
であるべきで、多くの人がJoda DateをJavaで使用することを推奨しています。だから私はそれを撃った。私は週を稼働させることができましたが、これが正しいかどうかはわかりません。ここで私は一週間の時間を得るためにやっているものです:
DateTime s = new DateTime(Long.parseLong("1330573027000")); // 2012-02-29
DateTime e = new DateTime(Long.parseLong("1331005027000")); // 2012-03-05
Weeks weeks = Weeks.weeksBetween(s, e).plus(1);
この2つの日付が異なる週にあるので、私は2を期待していたときに、1を返します。
私は同じことを続けましたが、0を返しましたが、2つの日付が2ヶ月間あるため、2を返します。
誰かが正しい方向に向いていますか?
ありがとうございます!
編集:
DateTime start = new DateTime(Long.parseLong("1330659427000"));
DateTime start = new DateTime(Long.parseLong("1331005027000"));
DateTime finalStart = start.dayOfWeek().withMinimumValue();
DateTime finalEnd = end.dayOfWeek().withMaximumValue();
そしてfinalStartとfinalEndの違いを取得: 私はそれを行うための一つの方法だと思う、それは右に見えるなら、私に知らせてください。これは正しいか?
EDIT2 は、それはあなたが後にあるものを与えず終了時刻
二つの異なる週間? '2012-02-29'と' 2012-12-29'の2つの異なる週を満たすとどうなるでしょうか?あなたは答えを見て= 2、上記のためにも? – Narayan
いいえ、あなたがリストしたシナリオでは、2つの日付範囲の間の週数をカウントする必要があります。だから私が本質的にやりたいことは、開始日の最初の日と終了日の最後の日との間の期間を得ることです。そうすれば、私は2つの日付の間だけではなく2を得ることになります。あなたの例では – test123
、週は2つの異なる週にはありません、 '2012-02-29'と' 2012-03-01'は同じ週に属しています!あなたの要件は明確ではありません! – Narayan