如何使用 GWT 获取一个月中的天数或天数列表



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,但没有得到任何东西。

例如,2 月有 29 天,匹配有 31 天,依此类推......

我不知道

直接的方法,但是您可以通过在日期上添加一个月,然后计算天数差来计算此值:

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 天),结果再次正确。

"作弊"方式:

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

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

基本上将Date对象设置为 NEXT 月份的0th日,然后获取月份中的某一天。

Date(int year, int month, int date)预计year=calendarYear-1900(即2014=114),月份为0-based(即1月为第0个月)

是的,我知道这个构造函数已被弃用,但我仍然使用它。

        DateField dfMois = new DateField();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(dfMois.getValue());
        Date date = dfMois.getValue();
        Date dateCopy = dateFin;
        dateCopy.setDate(calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        if(date.getMonth() == Calendar.FEBRUARY + 1){
            date.setDate(31 - dateCopy.getDate());
            date.setMonth(date.getMonth()-1);
        }
        else{
            date.setDate(dateCopy.getDate());
        }
        dfMois.setValue(date);

在您的代码中...它有效。

相关内容

  • 没有找到相关文章

最新更新