Java8时间类型

具体思路都是通过Instant当中介,然后通过Instant来创建LocalDateTime

新的日期类转旧的也是如此,将新的先转成LocalDateTime,然后获取Instant,接着转成Date

/**
     * Date类型转LocalDateTime类型
     * java.util.Date --> java.time.LocalDateTime
     * @param date java.util.Date时间类型
     * @return java.time.LocalDateTime时间类型
     */
    public static LocalDateTime dateToLocalDateTime(Date date) {
        Instant instant = date.toInstant();
        return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
    }

    /**
     * Date类型转LocalDate类型
     * java.util.Date --> java.time.LocalDate
     * @param date java.util.Date时间类型
     * @return java.time.LocalDate时间类型
     */
    public static LocalDate dateToLocalDate(Date date) {
        Instant instant = date.toInstant();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
        return localDateTime.toLocalDate();
    }

    /**
     * Date类型转LocalTime类型
     * java.util.Date --> java.time.LocalTime
     * @param date java.util.Date时间类型
     * @return java.time.LocalTime时间类型
     */
    public static LocalTime dateToLocalTime(Date date) {
        Instant instant = date.toInstant();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
        return localDateTime.toLocalTime();
    }

    /**
     * LocalDateTime类型转Date类型
     * java.time.LocalDateTime --> java.util.Date
     * @param localDateTime LocalDateTime类型
     * @return Date类型
     */
    public static Date localDateTimeToDate(LocalDateTime localDateTime) {
        Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
        return Date.from(instant);
    }

    /**
     * LocalDate类型转Date类型
     * java.time.LocalDate --> java.util.Date
     * @param localDate LocalDate类型
     * @return Date类型
     */
    public static Date localDateToDate(LocalDate localDate) {
        LocalDateTime localDateTime = localDate.atStartOfDay();
        return localDateTimeToDate(localDateTime);
    }

    /**
     * LocalTime类型转Date类型
     * java.time.LocalTime --> java.util.Date
     * @param localTime LocalTime类型
     * @return Date类型
     */
    public static Date localTimeToDate(LocalTime localTime) {
        LocalDate localDate = LocalDate.now();
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        return localDateTimeToDate(localDateTime);
    }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值