我是靠谱客的博主 可耐白云,最近开发中收集的这篇文章主要介绍【精品】基于Java8的日期时间工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * 操作时间工具类
 */
public class DateTimeUtil {

    public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("+8"));

    /**
     * 将字符串 转成 LocalDateTime
     *
     * @param dateTime 时间  "2016-04-04 11:50:53"
     * @return LocalDateTime
     */
    public static LocalDateTime strTime2LocalDateTime(String dateTime) {
        return LocalDateTime.parse(dateTime, FORMATTER);
    }

    /**
     * 将LocalDate转换成java.sql.Date
     *
     * @param date
     * @return
     */
    public static java.sql.Date localDate2SqlDate(LocalDate date) {
        //LocalDate ---> java.util.Date
        Date tmp = localDate2Date(date);
        // java.util.Date --->java.sql.Date
        java.sql.Date sqlDate = new java.sql.Date(tmp.getTime());
        return sqlDate;
    }

    /**
     * date 转成 LocalDateTime
     *
     * @param date 日期
     */
    public static LocalDateTime date2LocalDateTime(Date date) {
        Instant instant = date.toInstant();
        ZoneId zone = ZoneId.systemDefault();
        return LocalDateTime.ofInstant(instant, zone);
    }

    /**
     * date 转成 LocalDate
     *
     * @param date 日期
     */
    public static LocalDate date2LocalDate(Date date) {
        Instant instant = date.toInstant();
        ZoneId zone = ZoneId.systemDefault();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
        return localDateTime.toLocalDate();
    }

    /**
     * date 转成 LocalTime
     *
     * @param date 日期
     */
    public static LocalTime date2LocalTime(Date date) {
        Instant instant = date.toInstant();
        ZoneId zone = ZoneId.systemDefault();
        LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
        return localDateTime.toLocalTime();
    }

    /**
     * LocalDateTime 转成 Date
     *
     * @param localDateTime 时间
     * @return 结果集
     */
    public static Date localDateTime2Date(LocalDateTime localDateTime) {
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = localDateTime.atZone(zone).toInstant();
        return Date.from(instant);
    }

    /**
     * localDate 转成 Date
     *
     * @param localDate 结果集
     */
    public static Date localDate2Date(LocalDate localDate) {
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
        return Date.from(instant);
    }

    /**
     * LocalTime 转成 Date
     *
     * @param localDate 时间
     * @param localTime 本地时间
     */
    public static Date localTime2Date(LocalDate localDate, LocalTime localTime) {
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        ZoneId zone = ZoneId.systemDefault();
        Instant instant = localDateTime.atZone(zone).toInstant();
        return Date.from(instant);
    }

}

最后

以上就是可耐白云为你收集整理的【精品】基于Java8的日期时间工具类的全部内容,希望文章能够帮你解决【精品】基于Java8的日期时间工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部