java 日期运算_java日期的运算

java.util.Date下的很多(构造)方法,已经被标识为"过时"方法,官方推荐使用Calendar类来处理日期的运算,下面是示例:import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

public class HelloWorld {

public static void main(String[] args) {

//指定时间输出格式

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

Date dt = new Date();

System.out.println("当前时间:" + sdf.format(dt));

Calendar rightNow = Calendar.getInstance();

rightNow.setTime(dt);

rightNow.add(Calendar.YEAR,-1);//当时日期减1年

System.out.println("减1年:" + sdf.format(rightNow.getTime()));

rightNow.add(Calendar.MONTH,3);//(在刚才的结果上)再加3个月

System.out.println("再加3个月:" + sdf.format(rightNow.getTime()));

rightNow.add(Calendar.DAY_OF_YEAR,10);//(在刚才的结果上)再加10天

System.out.println("再加10天:" + sdf.format(rightNow.getTime()));

}

}

输出结果:

当前时间:2013-02-21 09:40:49

减1年:2012-02-21 09:40:49

再加3个月:2012-05-21 09:40:49

再加10天:2012-05-31 09:40:49

----------------------------------------------

如果要将某个日期中的 各部分(比如:年、月、日、星期...) 拆解出来,也很容易:

1         Date dt = new Date();

2         Calendar calendar = Calendar.getInstance();

3         calendar.setTime(dt);

4            System.out.println("当前日期:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dt));//当前日期:2013-02-28 16:22:37

5         System.out.println("年:" + calendar.get(Calendar.YEAR));//年:2013

6         System.out.println("月:" + (calendar.get(Calendar.MONTH)+1));//月:2 -注:月份是从0开始的

7         System.out.println("日:" + calendar.get(Calendar.DATE));//日:28

8         System.out.println("时(12小时制):" + calendar.get(Calendar.HOUR));//时:4(12小时制)

9         System.out.println("时(24小时制):" + calendar.get(Calendar.HOUR_OF_DAY));//时:16(24小时制)

10         System.out.println("分:" + calendar.get(Calendar.MINUTE));//分:30

11         System.out.println("秒:" + calendar.get(Calendar.SECOND));//秒:19

12         System.out.println("本月第" + calendar.get(Calendar.WEEK_OF_MONTH) + "周");//本月第5周

13         System.out.println("本年第" + calendar.get(Calendar.WEEK_OF_YEAR) + "周");//本年第9周

你可能感兴趣的:(java,日期运算)