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;
}
提前感谢您的帮助。
我想获得客户端一个月的天数。我搜索了谷歌和StackOverFlow,但没有得到任何东西。
例如2月有29天,比赛有31天等等......
答案 0 :(得分:2)
我不知道直接的方法,但您可以通过在您的日期中添加一个月来计算此值,然后计算天数差异:
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天),结果再次正确。
答案 1 :(得分:0)
“作弊”的方式:
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月)
是的,我知道这个构造函数已被弃用,但我仍然使用它。
答案 2 :(得分:-1)
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);
在你的代码中......它有用。