南京学码思

Date和Calendar的区别及互转方法

发布用户:xuemasi +收藏

发布时间:2016-10-25 17:46:31 已有30人浏览

通过Calendar生成Date实例时,没有设置的域(年,月,日,时,分,秒,毫秒)会默认的用当前时间的对应的域进行设置。通过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,它只对指定的时间域加减,是不会自动跨域的

Date和Calendar常见使用方法:http://www.hfxms.com.cn/course/java/2806.html

上一篇:IT行业研发创新的重要性

下一篇:在设计公司工作要如何设计LOGO

QQ咨询

微信咨询