输入字符串如 2008-06 就可以得到如下效果返回
2008-05
2008-04
2008-03
2008-02
2008-01
2008-05
2008-04
2008-03
2008-02
2008-01
解决方案 »
- 从.NET跳槽到java web开发,好不好?
- java web 怎么开发
- 项目中异常的处理
- smartClient怎麼實現關閉頁面彈出是否關閉按鈕?(请教高手)
- Junit测试时数据库链接类报错
- dwr提示变量未定义?谢谢大家。
- 关于在jbuilder9中使用jndi配置datasource
- 一打开某个网站,还会弹出一个页面提示一些本网站的重要信息之类,请问如何做这个页面。。。。。。在线等待!!
- 如何在Servlet中发送Http请求???
- 为什么用<%@ include file="info.jsp" %>引入后,info.jsp出现中文问题(乱码)?
- 怎么让数据导出到excel中
- 页面加载数据时,让他出现正在加载的进度调,或者一个提示
然后输出!
自己写写看!
先通过SimpleDateFormat转换成日期格式
然后Calendar,然后add月份-1
然后得到日期再转换成字符串
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM");
try {
int month= sd.parse(date).getMonth() +1;
int year=1900+sd.parse(date).getYear();
for(int i=month-1;i>0;i--){
if(i<10){
System.out.println(year+"-0"+i);
}
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
import java.util.Calendar;
public class Hello{
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); public static void main(String args[]) throws Exception {
String str = "2008-06";
System.out.println(sdf.parse(str));
for (int i = 0; i < 5; i++) {
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(str));
cal.add(Calendar.MONTH, -1);
str = sdf.format(cal.getTime());
System.out.println(sdf.format(cal.getTime()));
}
}}
非常不建议用解析字符串,把月份弄成int加减的方法。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;public class Test {
public static void main(String[] args) throws ParseException {
String input = "2008-03";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(input));
for(int i=0;i<6;i++){
cal.add(Calendar.MONTH, -1);
System.out.println(sdf.format(cal.getTime()));
}
}
}
如果说一日期的格式输出的话,2楼的做法是正确的
要看你是要怎么实现的