JAVA 的 Date、Calendar的常用用法

最近在做项目的时候用到Date 和Calendar比较多,而且用到的方式也比较全,今天写篇博文总结一下

在java中用到的最多的时间类莫过于 java.util.Date了,由于Date类中将getYear(),getMonth()等获取年、月、日的方法都废弃了,所以要借助于Calendar来获取年、月、日、周等比较常用的日期格式

首先,先说一下Date与String的互转用法,这里需要用到SimpleDateFormat

复制代码
1         Date date = new Date();
2         //设置格式
3         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
4         
5         String strDate  = sdf.format(date);
6         //String转为Date类型
7         Date now = sdf.parse(strDate);
复制代码

Date与Calendar之间的互转

1         Calendar  cal = Calendar.getInstance();
2         
3         cal.setTime(new Date());
4         
5         Date date = cal.getTime();

利用Calendar获取年、月、周、日、小时等时间域

        cal.get(Calendar.YEAR);
        cal.get(Calendar.MONTH);
     cal.get(Calendar.WEEK);

对时间进行加减

1  cal.add(Calendar.MONTH, 1);
2  cal.add(Calendar.WEEK,2);
3  cal.add(Calendar.MINUTE,-10);

add 方法的一个参数为 需要加减的 时间域(年、月、周等),参数二位 变化量,负数代表时间向前(过去)推移,也就是所谓的减,碰到跨域的情况,比如现在是2012-11,然后执行  cal.add(Calendar.MONTH,3),时间会自动变为2013-02,然后roll()方法则不会,roll方法会将时间推到2012-02,它只对指定的时间域加减,是不会自动跨域的

版权声明:本文为mimamo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mimamo/p/4160323.html