java时间格式转换字符转换HuTool进行

HuTool

简介

在这里插入图片描述

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。

Hutool中的工具方法来自于每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;

Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。来自官方文档

安装

maven

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.3.7</version>
</dependency>

maven中央仓库:https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.3.7/

类型转换工具类Convert(官方文档)

        //int转String,数组转String
        int i = 1;
        String aStr = Convert.toStr(i);
        System.out.println("aStr:"+aStr);//输入结果:1
        long[] l = {1,2,4,3,5};
        String lStr = Convert.toStr(l);
        System.out.println("lStr:"+lStr);//输入结果:[1, 2, 4, 3, 5]
        //String数组转Integer数组
        String[] s = {"1","2","3","5","5"};
        Integer[] sIntArray = Convert.toIntArray(s);//转换为Integer数组
        for (Integer integer : sIntArray) {
            System.out.println("integer:"+integer);
        }
        //String转日期
        String d = "2020-06-01";
        Date date = Convert.toDate(d);
        System.out.println("date:"+date);
        System.out.println(Convert.toLocalDateTime(date));
    }

日期时间工具-DateUtil官方文档

  • DateUtil.date():获取当前时间

    Date date = DateUtil.date();
    System.out.println("date:"+date);//当前时间date:2020-06-14 17:14:48
    
  • DateUtil.now():获取当前时间格式:yyyy-MM-dd HH:mm:ss

    String now = DateUtil.now();
    System.out.println("now:"+now);//当前时间字符串,格式:yyyy-MM-dd HH:mm:ss   now:2020-06-14 17:14:48
    
  • DateUtil.today():获取当前时间格式yyyy-MM-dd

    String today= DateUtil.today();
    System.out.println("today:"+today);//当前日期字符串,格式:yyyy-MM-dd  today:2020-06-14
    
  • LocalDateTime toLocalDateTime(Date date):Date 转换为 LocalDateTime

    System.out.println("Date 转换为 LocalDateTime,使用系统默认时区"+DateUtil.toLocalDateTime(new Date()));
    //Date 转换为 LocalDateTime,使用系统默认时区2020-06-14T17:22:08.009
    
  • 我们按着Ctrl点击DateUtil进入源码会发现里面封装了很多的时间转换方法

在这里插入图片描述

  • 在测试一个计算星座getZodiac(int month, int day)

    System.out.println(DateUtil.getZodiac(11, 15));
    

    结果
    在这里插入图片描述
    当然里面还有很多实用的方法:

  1. 获取时间对象的某个部分
  2. 开始时间和结束时间
  3. 时间的偏移(先前推多长时间向后推多长时间)
  4. 。。。。

当然我们在开发中会遇到很多的String转时间的情况这个时候我们就可以用到DateUtil.parse

​ 上面的Date toDate和这里的DateUtil.parse都可以转换时间格式

  • Date toDate

    /**
    	 * 转换为Date<br>
    	 * 如果给定的值为空,或者转换失败,返回<code>null</code><br>
    	 * 转换失败不会报错
    	 * 
    	 * @param value 被转换的值
    	 * @return 结果
    	 * @since 4.1.6
    	 */
    	public static Date toDate(Object value) {
    		return toDate(value, null);
    	}
    
  • DateUtil.parse

     /**
        * 将日期字符串转换为{@link DateTime}对象,格式:<br>
        * <ol>
        * <li>yyyy-MM-dd HH:mm:ss</li>
        * <li>yyyy/MM/dd HH:mm:ss</li>
        * <li>yyyy.MM.dd HH:mm:ss</li>
        * <li>yyyy年MM月dd日 HH时mm分ss秒</li>
        * <li>yyyy-MM-dd</li>
        * <li>yyyy/MM/dd</li>
        * <li>yyyy.MM.dd</li>
        * <li>HH:mm:ss</li>
        * <li>HH时mm分ss秒</li>
        * <li>yyyy-MM-dd HH:mm</li>
        * <li>yyyy-MM-dd HH:mm:ss.SSS</li>
        * <li>yyyyMMddHHmmss</li>
        * <li>yyyyMMddHHmmssSSS</li>
        * <li>yyyyMMdd</li>
        * <li>EEE, dd MMM yyyy HH:mm:ss z</li>
        * <li>EEE MMM dd HH:mm:ss zzz yyyy</li>
        * <li>yyyy-MM-dd'T'HH:mm:ss'Z'</li>
        * <li>yyyy-MM-dd'T'HH:mm:ss.SSS'Z'</li>
        * <li>yyyy-MM-dd'T'HH:mm:ssZ</li>
        * <li>yyyy-MM-dd'T'HH:mm:ss.SSSZ</li>
        * </ol>
        *
        * @param dateCharSequence 日期字符串
        * @return 日期
        */
       public static DateTime parse(CharSequence dateCharSequence) {
    

对比源码中的代码就可以发现Date.toDate之能进行一些单一的时间类型转换,而DateUtil.parse则支持大多数的时间格式的转换

以上是本人的粗略介绍如有不对或者思想偏差,欢迎大家指正评论第一时间修改回复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值