java.util.Date 与 java.time.LocalDateTime互转及大小比较

简介: java.util.Date 与 java.time.LocalDateTime互转及大小比较


java.util.Date 与 java.time.LocalDateTime互转及大小比较


Date与LocalDateTime互转

Instant startTime = date.toInstant();
ZoneId zoneId = ZoneId.systemDefault();
LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);


比较日期大小 A小于B

    /**
     * 比较日期大小 A小于B
     * @param date1
     * @param date2
     * @return true 小于 false 大于
     */
    public static boolean localDateBefore(Date date1,Date date2) {
        Instant startTime = date1.toInstant();
        Instant endTime = date2.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
        LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
        return startDate.isBefore(endDate);
    }


比较日期大小 A大于B

    /**
     * 比较日期大小 A大于B
     * @param date1
     * @param date2
     * @return true 大于 false 小于
     */
    public static boolean localDateAfter(Date date1,Date date2) {
        Instant startTime = date1.toInstant();
        Instant endTime = date2.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
        LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
        return startDate.isAfter(endDate);
    }


比较日期大小 A等于B

    /**
     * 比较日期大小 A等于B
     * @param date1
     * @param date2
     * @return true 相等 false 不相等
     */
    public static boolean localDateEqual(Date date1,Date date2) {
        Instant startTime = date1.toInstant();
        Instant endTime = date2.toInstant();
        ZoneId zoneId = ZoneId.systemDefault();
        LocalDateTime startDate = LocalDateTime.ofInstant(startTime, zoneId);
        LocalDateTime endDate = LocalDateTime.ofInstant(endTime, zoneId);
        return startDate.isEqual(endDate);
    }


相关文章
|
1天前
|
并行计算 Java 大数据
Java中的高效并行计算与多线程编程技术
Java中的高效并行计算与多线程编程技术
|
1天前
|
算法 安全 Java
Java小白教学—五千字带你了解多线程机制及线程安全问题
Java小白教学—五千字带你了解多线程机制及线程安全问题
|
1天前
|
安全 Java
解决Java中多线程同步问题的方案
解决Java中多线程同步问题的方案
|
1天前
|
安全 Java 开发者
Java多线程编程实践中的常见问题与解决方案
Java多线程编程实践中的常见问题与解决方案
|
2天前
|
安全 Java
Java多线程编程实践中的常见问题与解决方案
Java多线程编程实践中的常见问题与解决方案
|
2天前
|
设计模式 Java 容器
Java多线程编程中的设计模式与挑战
Java多线程编程中的设计模式与挑战
|
3天前
|
Java 数据处理 调度
Java多线程编程入门指南
Java多线程编程入门指南
|
3天前
|
安全 Java 开发者
Java并发编程中的线程安全策略
在现代软件开发中,Java语言的并发编程特性使得多线程应用成为可能。然而,随着线程数量的增加,如何确保数据的一致性和系统的稳定性成为开发者面临的挑战。本文将探讨Java并发编程中实现线程安全的几种策略,包括同步机制、volatile关键字的使用、以及java.util.concurrent包提供的工具类,旨在为Java开发者提供一系列实用的方法来应对并发问题。
9 0
|
3天前
|
监控 Java UED
Java并发编程:深入理解线程池的设计与应用
本文旨在通过数据导向和科学严谨的方式,深入探讨Java并发编程中的关键组件——线程池。文章首先概述了线程池的基本概念与重要性,随后详细解读了线程池的核心参数及其对性能的影响,并通过实验数据支持分析结果。此外,文中还将介绍如何根据不同的应用场景选择或设计合适的线程池,以及如何避免常见的并发问题。最后,通过案例研究,展示线程池在实际应用中的优化效果,为开发人员提供实践指导。
9 0
|
4天前
|
监控 安全 算法
如何有效地处理Java中的多线程
如何有效地处理Java中的多线程