7

Javaアプリケーションを使用します。日付選択フィールドがあり、クリックすると小さなカレンダーが開きます。週の最初の日は日曜日です。でも月曜日にしたいです。日付設定からWindowsのコントロールパネルから変更しようとしています。たとえば、Windowsカレンダーの初日を木曜日に設定しました。ただし、Javaアプリケーションのカレンダーでは、週の最初の日はまだ日曜日です。Javaアプリケーションの週の最初の曜日をWindowsから変更することは可能ですか、それともJavaアプリケーションのコードからのみ変更されますか?

よろしく

4

4 に答える 4

25

setFirstDayOfWeek()メソッドを使用して、週の最初の曜日を設定できます。このメソッドは、WEEK_OF_MONTHまたはWEEK_OF_YEARの戻り値にのみ影響を与えることができます。DAY_OF_WEEKの場合、何もしません。

次のようなものを実装できます。

Calendar cal = Calendar.getInstance();
cal.setFirstDayOfWeek(Calendar.MONDAY);
int rec = cal.get(Calendar.WEEK_OF_MONTH);
System.out.println(rec);

APIの詳細はこちら

于 2012-08-08T06:18:11.417 に答える
3

月曜日を設定する場合は、

Calendar currentCalendar = Calendar.getInstance(new Locale("en","UK"));

日曜日を設定したい場合は、

Calendar currentCalendar = Calendar.getInstance(new Locale("en","US"));
于 2018-01-17T06:53:39.363 に答える
2

Javaアプリはどのフレームワークを使用していますか?日付選択フィールドとはどのようなコンポーネントですか?

JavaのCalendar場合、デフォルトでは、曜日はシステムのロケール設定によって決まります。

したがって、アプリケーションのソースコードを変更できない場合は、次のようにします。

  • オペレーティングシステム(この場合はWindows)のロケールを変更することをお勧めします
  • または、jvmを起動するときに、-Duser.countryまたはjavaなどのさまざまなコマンドライン引数を使用する場合があります。こちら-Duser.region forをご覧ください。
于 2012-08-08T06:19:33.677 に答える
1
Calendar now = Calendar.getInstance();
    System.out.println("Current date : " + (now.get(Calendar.MONTH) + 1) + "-"
        + now.get(Calendar.DATE) + "-" + now.get(Calendar.YEAR));

    String[] strDays = new String[] { "Sunday", "Monday", "Tuesday", "Wednesday", "Thusday",
        "Friday", "Saturday" };
    // Day_OF_WEEK starts from 1 while array index starts from 0
    System.out.println("Current day is : " + strDays[now.get(Calendar.DAY_OF_WEEK) - 1]);
于 2012-08-08T06:42:25.147 に答える