Java8 DateTime的api使用

/**
     * @Title testMapUtil
     * @Description:测试DateTime的Api
     * @date: 2019-10-16 10:31
     * @return:void
     */
    public static void main(String[] args) {
        test();
    }

    /**
     * 获得当前时间
     */
    public static void test(){
        DateTime date = DateTime.now();
        System.out.println(date.toLocalTime());// 时分秒
        System.out.println(date.toLocalDate());// 年月日
        System.out.println(date.toLocalDateTime());// 年月日时分秒
    }

    /**
     * 时间运算
     */
    public static void test1(){
        DateTime date = DateTime.now();
        System.out.println(date.toLocalTime().minusHours(2));// 时分秒 - 时
        System.out.println(date.toLocalDate().minusDays(10));// 年月日 - 日
        System.out.println(date.toLocalDateTime().plusYears(4));// 年月日时分秒 + 年
    }

    /**
     * 字符串转时间
     */
    public static void test2(){
        Map<String,Object> map = new HashMap();
        map.put("date","2019-04-19 19:49:00");
        DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        DateTime date = DateTime.parse(MapUtils.getString(map, "date"),dtf);
        System.out.println(date);
    }

    /**
     * 时间比较
     */
    public static void test3(){
        DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        DateTime last = DateTime.parse("2019-04-19 19:49:00",dtf);
        DateTime now = DateTime.parse("2019-10-16 11:30:00",dtf);
        System.out.println(now.toLocalDate().minusDays(180).equals(last.toLocalDate()));
    }

优点:计算时间特别方便

缺点:mybatis和json都没有兼容

组件兼容性:

  • myBatis (mybatis-spring v1.3.0) 暂不支持 localDateTime
  • Json (com.fasterxml.jackson.core v2.5.4) 貌似也没特别的支持, 序列化的结果如下

总结:
当前情况下, 业务计算建议使用 LocalDateTime, 业务计算以外建议转化为 Date

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值