在我的Grails项目中,我在控制器中有一个日期,我需要将此日期增加一个月,所以我做了如下:
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:ss");
def temp
use (TimeCategory)
{
temp=new Date()+30.days//current date 6-1-2016
}
println(sdf.format(temp))
这是输出:
2016-02-36
我试过plus(30)
也给了我同样的结果。有没有办法正确地进行这种增量?
答案 0 :(得分:1)
在Java日期格式中,D
代表"年中的日期",因此6+30 = 36
。您希望将d
用于"日期和#34;。
您还在使用Y
,这是"周年"而不是y
,这是"年"如果您需要M
,可以m
分钟。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
答案 1 :(得分:0)
我采用这种方法:
Calendar calendar = Calendar.getInstance()
calendar.add(Calendar.DAY_OF_YEAR, 30)
或其他方法是使用Joda Time