zoukankan      html  css  js  c++  java
  • Date和Calendar的区别以及对他们简单的使用以及jdk1.8时间新特性LocalDateTime


    1. cal1.add(Calendar.DAY_OF_MONTH,1);
    2. cal1.add(Calendar.DAY_OF_YEAR,1);
    3. cal1.add(Calendar.DATE,1);

    就单纯的add操作结果都一样,因为都是将日期+1
    就没有区别说是在月的日期中加1还是年的日期中加1
    但是Calendar设置DAY_OF_MONTH和DAY_OF_YEAR的目的不是用来+1
    将日期加1,这通过cal1.add(Calendar.DATE,1)就可以实现
    DAY_OF_MONTH的主要作用是cal.get(DAY_OF_MONTH),用来获得这一天在是这个月的第多少天
    Calendar.DAY_OF_YEAR的主要作用是cal.get(DAY_OF_YEAR),用来获得这一天在是这个年的第多少天。
    同样,还有DAY_OF_WEEK,用来获得当前日期是一周的第几天

     (。♥ᴗ♥。) Ψ( ̄∀ ̄)Ψhi✿(。◕ᴗ◕。)✿ (✖人✖)(▼ヘ▼#)

    1、什么是Date和Calendar

    a、Date类表示的是特定的,瞬间的,它能精确毫秒。

    b、Calendar它是一种抽象类,相比Date它在操作日历的时候提供了一些方法来操作日历字段

    2、Date和Calendar常见的使用方式

    a、Date

    1. Date date = new Date();
    2. System.out.println("毫秒:"+date.getTime());//输入毫秒
    3.  
    4. //时间转字符串
    5. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    6. String time = sdf.format(date);
    7. System.out.println("时间转字符串:"+time);
    8.  
    9. //利用字符串来转时间格式(记得抛出异常)
    10. String time02 = "2018-09-05";
    11. SimpleDateFormat sdf2 = new SimpleDateFormat ("yyyy-MM-dd");
    12. Date date2 = sdf2.parse(time02);
    13. System.out.println("字符串转时间格式:"+date2);

    b、Calendar

    1. // 使用默认时区和语言环境获得一个日历
    2. Calendar cal = Calendar.getInstance();
    3. // 赋值时年月日时分秒常用的6个值,注意月份下标从0开始,所以取月份要+1
    4. System.out.println("年:" + cal.get(Calendar.YEAR));
    5. System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
    6. System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
    7. System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
    8. System.out.println("分:" + cal.get(Calendar.MINUTE));
    9. System.out.println("秒:" + cal.get(Calendar.SECOND));
    10.  
    11. //手动设置某个日期
    12. Calendar cal02 = Calendar.getInstance();
    13. //注意,设置时间的时候月份的下标是在0开始的
    14. //设置时间不一定要这6个参数3个参数也是可以的
    15. cal02.set(2018,9,1,12,0,0);//二零一八年十月一号十二点
    16. System.out.println(cal02.getTime());
    17.  

    c、Date和Calendar互相转换

    1. 1、Calendar转Date
    2. Calendar cal = Calendar.getInstance();
    3. Date date = cal.getTime();
    1. Calendar cal = Calendar.getInstance();
    2. Date date = cal.getTime();
    3. SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    4. String s = simpleDateFormat.format(date);
    5. System.out.println("时间为===="+s);

    2、Date转Calendar

    1. Date date2 = new Date();
    2. Calendar cal2 = Calendar.getInstance();
    3. cal2.setTime( date );
    1. Date date2 = new Date();
    2. Calendar cal2 = Calendar.getInstance();
    3. cal2.setTime(date );
    4. System.out.println(cal2.get(Calendar.YEAR) +"-"+(cal2.get(Calendar.MONTH)+1)+"-"+cal2.get(Calendar.DATE));

     

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

    注意:

    在大多数情况下,date要实现的功能都可以通过calendar来实现的(少数情况除外),在这上面只是列出的常用方法,感兴趣的程序猿可以通过这些方法来简单的去使用Calendar和Date,在使用的过程当中一点要注意代码的中的注释哦。

    3、Date和Calendar有什么区别

    区别:比较哟明显的区别是Date是日期,Calendar是日历,Date是类,Calendar是抽象类。当然,你也可以觉得Calendar是Date的加强版

    4、在开发过程当中,使用Date和Calendar哪种的效率更高

    这个就要看项目的具体需求了,不过在当前的开发环境中,Calendar使用的情况是比Date更多,毕竟它提供的方法大大的方便了我们程序猿完成跟时间有关的功能,但是这并不意味这Date就会淘汰,毕竟他们两个还是有区别的,笔者只是认为Calendar用起来更好。

  • 相关阅读:
    The difference between applicationContext.xml in Spring and xxx-servlet.xml in SpringMVC
    01Java代码是怎么运行的
    Qt5.7不能加载MySql驱动问题(需要重新编译驱动)
    大前端工具介绍
    ARTS 第 1 周
    【标题】行动派
    Matlib’s lsqnonlin 和 scipy.optimize’s least_square
    每日背单词
    AngularJS入门篇
    吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-adjust
  • 原文地址:https://www.cnblogs.com/yangsanluo/p/14325189.html
Copyright © 2011-2022 走看看