Calendar代替Date常用方法小记

Posted 来兮子宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Calendar代替Date常用方法小记相关的知识,希望对你有一定的参考价值。

业务逻辑中遇到日期的相关操作,整理一下小做总结

日期操作离不开 java.util.Calendar 和 java.util.Date ,实体类中日期字段设计也可能用到java.sql.Date。但目前使用中,Calendar为主,Date辅助,而且Date中的许多方法已过时,Calendar可99%替代,1%也是类型转换时的临时需要。这里仅结合实际使用简单汇总如下:

     // 获取当前各自日期实例
        Calendar calendar = Calendar.getInstance();
        Date date = new Date();

        // 相互转换
        Date temp = calendar.getTime();
        calendar.setTime(date);

        // 设置时分秒,Calendar完全替换Date
        calendar.set(Calendar.HOUR_OF_DAY,9);
        calendar.set(Calendar.MINUTE,30);
        calendar.set(Calendar.SECOND,0);
        
        // 时间比较,Calendar完全替换Date+1
        Calendar calendar1 = Calendar.getInstance();
        // before/after参数可为Calendar或Date
        Boolean tem = calendar.before(calendar);
        Boolean tem1 = calendar.after(calendar);
        Boolean tem2 = calendar.after(date);
        
        // 日期格式转换,commons-lang 
        // 日期转字符串 Date--String
        String dateStr = DateFormatUtils.format(date,"yyyy-MM-dd HH:MM:SS");
        // 字符串转日期 String--Date
        String[] pattern = new String[]{"yyyy-MM","yyyyMM","yyyy/MM",
                "yyyyMMdd","yyyy-MM-dd","yyyy/MM/dd",
                "yyyyMMddHHmmss",
                "yyyy-MM-dd HH:mm:ss",
                "yyyy/MM/dd HH:mm:ss"};
        String test = "2018-5-22";
        Date date1 = DateUtils.parseDate(test, pattern);

以上为当前业务中所用到的及常用的一些基本方法,后续用到再补充

 

以上是关于Calendar代替Date常用方法小记的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的Date类与Calendar类(常用方法)

Calendar日期类详解SimpleDateFormat时区Date夏令时常用方法,日期差获取当前时间

关于Calendar的常用方法练习

Math常用类Date类Calendar类两者相互转换

常用工具类(System,Runtime,Date,Calendar,Math)

JavaSE基础六----<常用类>Math类Random类|System类,Date类Calendar类SimpleDateFormat类,BigInteger类BigDecimal类