0

GWT のこのコードのカウンター部分は何ですか?

public int returnAllDaysOf(2012,6){

        Calendar calendar = Calendar.getInstance();

        calendar.set(2012, Calendar.FEBRUARY, 1);

        int daysOfFeb = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

        return daysOfFeb;

 }

よろしくお願いします。

クライアント側で月の日数を取得したい。Google と StackOverFlow を検索しましたが、何も得られませんでした。

たとえば、Feb は 29 日、Match は 31 日など...

4

3 に答える 3

2

直接的な方法はわかりませんが、この値は、日付に 1 か月を加算し、その差を日数で計算することで計算できます。

final Date myDate = ...;

final Date copyOfDate = CalendarUtil.copyDate(myDate);
CalendarUtil.addMonthsToDate(copyOfDate, 1);

final int daysBetween = CalendarUtil.getDaysBetween(myDate, copyOfDate);

注: これは、myDate が 2012-01-31 のような場合でも機能します。copyOfDate は 2012-03-02 (2 月には 31 日がないため) であり、結果は再び正しいです。

于 2012-06-29T12:37:12.993 に答える
0

それを行う「不正行為」の方法:

int daysInCurrentMonth = new Date(year-1900, month+1, 0).getDate();

IE

int daysInJanuary2014 = new Date(114, 1, 0).getDate();

基本的に、Dateオブジェクトを0th翌月の日に設定してから、その月の日を取得します。

:Date(int year, int month, int date)期待year=calendarYear-1900(つまり 2014=114) で、月は0-based(つまり、1 月は月 0 になります)

はい、このコンストラクターが非推奨であることは知っていますが、まだ使用しています。

于 2014-08-14T18:59:56.943 に答える