java按照时间查询,获取近1月时间信息。时间如何加减?简单易懂,谢谢了。

举个例子谢了,当前时间的前一个月怎么算出来?

1.用java.util.Calender来实现

Calendar calendar=Calendar.getInstance();
calendar.setTime(new Date());
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//今天的日期
calendar.set(Calendar.DAY_OF_MONTH,calendar.get(Calendar.DAY_OF_MONTH)+1);//让日期加1
System.out.println(calendar.get(Calendar.DATE));//加1之后的日期Top
===============================================================================

2.用java.text.SimpleDateFormat和java.util.Date来实现

Date d=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("今天的日期:"+df.format(d));
System.out.println("两天前的日期:" + df.format(new Date(d.getTime() - 2 * 24 * 60 * 60 * 1000)));
System.out.println("三天后的日期:" + df.format(new Date(d.getTime() + 3 * 24 * 60 * 60 * 1000)));追问

你这个不太准确,30天以上的有问题了,我是菜鸟给一个月份的,谢谢了。

一月前就是+了不是-了,为什么会反过来?2天前是-的? 

追答

第一种方式

追问

50分举个详细的例子,最好是带数据库的。

追答

就这么简单的算法,不需要数据库。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-16
转换成相同的类型 直接加减啊= =追问

我不会啊,举个例子谢了。

第2个回答  2014-07-16
public static String getTime(){
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -30);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd mm:hh:ss");
return dateFormat.format(calendar.getTime());
}