6

水曜日などの特定の曜日の日付を取得したい。つまり、今日の日付が金曜日の 27 日の場合、水曜日は実際には 25 日になります。

私はこれを達成することができました

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
String thisWed = String.format("%tF%n", calendar)

ここでの課題はjava.util.Calendar、GWT クライアント側でサポートされていないことです。このコードをサーバー側に移動することなく、可能な解決策はありますか?

ありがとう

4

4 に答える 4

16

com.google.gwt.user.datepicker.client.CalendarUtilあなたが探しているものだと思います。

于 2012-04-27T14:33:58.783 に答える
2

最も簡単なのはおそらく Joda-time などを使用することですが、JodaTime のすべての GWT ポートは放棄されています: gwt の日時ライブラリ

最もパフォーマンスの高い (サードパーティの依存関係がない) 方法は、自分で計算を行うことです。

Date d = new Date();
int dow = d.getDay();
int wed_delta = 3 - dow;
wed = new Date(d.getTime() + (86400 * wed_delta));

CalendarUtil.addDaysToDate(d, wed_delta)(最後の行は、その場で変更して に置き換えることができますd)

于 2012-04-27T14:40:32.670 に答える
1

を使用するDateTimeFormatと、java.util.Date を文字列にフォーマットしたり、文字列を Date にフォーマットしたりできます。

Date date = new Date();
DateTimeFormat format = DateTimeFormat.getFormat("EEEE");
String day = format.parse(date);
于 2012-04-27T14:11:23.247 に答える