首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

取得前三个月的时间

2012-09-11 
获得前三个月的时间SimpleDateFormat dfnew SimpleDateFormat(yyyy-MM)Calendar cal Calendar.getIn

获得前三个月的时间
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM");  
Calendar cal = Calendar.getInstance();  
// 取得前三个月的时间 
cal.add(Calendar.MONTH, 0);  
System.out.println(df.format(cal.getTime())); 
 
cal.add(Calendar.MONTH, -1);  
System.out.println(df.format(cal.getTime()) );

cal.add(Calendar.MONTH, -2);  
System.out.println(df.format(cal.getTime()));
上面的写法存在问题,不知道为什么 在获取当前时间和前一个月的时间没问题,但获取前两个月的时间时就出现问题了,例如当前月是2012-01,前一个月时间为:2011-12,但是前两个月的时间变成了2011-10。
下面的写法就不会出现上面的问题了。

SimpleDateFormat df=new SimpleDateFormat("yyyy-MM");  
Calendar cal = Calendar.getInstance();  
// 取得前三个月的时间 
cal.add(Calendar.MONTH, 0);  
System.out.println(df.format(cal.getTime())); 

cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);  
System.out.println(df.format(cal.getTime()) );
cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -2);  
System.out.println(df.format(cal.getTime()));

热点排行