2011-07-14 10 views
0

私のアプリケーションには、Calendar.DAY_OF_WEEKを使用してJavaカレンダーオブジェクトを使用して約1週間の間隔を取得するという、 週の開始日および週末としての月曜日のコードが次のようにチェックされています。 fromCal.set(Calendar.DAY_OF_WEEK、Calendar.MONDAY); toCal.set(Calendar.DAY_OF_WEEK、Calendar.SUNDAY); toCalは日曜日に到着するのではなく、最後の日曜日に設定されます。 このようなハードコーディング以外のやり方はありますか?Java Calendar Calendar.DAY_OF_WEEKを使用して特定の日付の最初と最後の日付を取得する

事前にヘルプを適用してください。

おかげで、

バイバブ

+0

uがplsはここ – jaychapani

答えて

2

私はそう前日曜日が週の日曜日、月曜日に週の開始を設定する必要がありますね。問題は、ロケールである

setFirstDayOfWeek

ます。public void setFirstDayOfWeek(int値)

Sets what the first day of the week is; e.g., Sunday in US, Monday in France. 

**Parameters:** 
    value - the given first day of the week. 

Java Calender Doc

2

。英語(米国)では、日曜日が週の最初の日です。 このコードをチェックしてください:

Calendar cal = Calendar.getInstance(Locale.ENGLISH); 
    cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); 
    System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek()); 
    System.out.println(cal.getTime().toString()); 
    cal = Calendar.getInstance(Locale.FRANCE); 
    System.out.println("FirstDayOfWeek="+cal.getFirstDayOfWeek()); 
    cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); 
    System.out.println(cal.getTime().toString()); 
1

ここでご希望の動作を明確にしてください。 「今」が曜日で、おそらく「今日」であるカレンダーオブジェクトから始めます。コールセット(DAY_OF_WEEK、...)。カレンダーの今日が火曜日の場合、あなたはどんな効果を望んでいますか?日曜日?月曜?

他の回答に見られるように、何が起きるかは、週の最初の曜日についてのカレンダーの意見によって決まります。だから最初にあなたの選択した価値に設定します。それで、this answerによれば、今週の日曜日と月曜日があります。これはあなたが望むものではないかもしれません - 今日が日曜日なら正確に何が必要ですか? - 一部のシステムは実際には次週について考えているかもしれません。

個人的に私はいくつかのビジネスルールに従って私の月曜日を得るかもしれないし、6日間追加することにより、後に日曜日を得る。

+0

をウルのコードを投稿することができ集合(DAY_OF_WEEK)は常に現在の週(WEEK_OF_YEAR)内調整 – Max

関連する問題