我使用以下代码以yyyy-MM-dd格式计算当前年份值但是下面的代码将paramStartDate值指定为0001-01-01,这是不正确的应该是'2014-01-01'
else if(scopeSelected != null && scopeSelected.equalsIgnoreCase("Year To Date")){
Calendar calendarStart = Calendar.getInstance();
calendarStart.set(Calendar.YEAR,calendarStart.YEAR);
calendarStart.set(Calendar.MONTH,0);
calendarStart.set(Calendar.DAY_OF_MONTH,1);
Date startDate=calendarStart.getTime();
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
paramStartDate = dateFormat1.format(startDate);
setParamStartDate(paramStartDate);
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 10
这就是问题:
calendarStart.set(Calendar.YEAR,calendarStart.YEAR);
Run Code Online (Sandbox Code Playgroud)
您将值设置为Calendar.YEAR值为1的常量.
如果您不想更改年份数,请完全删除此行.
(顺便说一句,我强烈建议使用Joda Time而不是内置的Java API.Joda Time 更清晰.)
编辑:对于添加一年的新要求,您可以使用
calendarStart.add(Calendar.YEAR, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |