java日期工具类实例分享


在Java中,处理日期和时间是一个常见的需求。这里,我将分享一个简单但功能强大的日期工具类实例,它使用Java 8及更高版本中引入的`java.time`包。这个包提供了全新的日期和时间API,旨在解决旧有`java.util.Date`和`java.util.Calendar`类中存在的一些问题。


import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class DateUtil {

    // 日期时间格式化器
    private static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    // 获取当前日期
    public static String getCurrentDate() {
        LocalDate date = LocalDate.now();
        return date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
    }

    // 获取当前时间
    public static String getCurrentTime() {
        LocalTime time = LocalTime.now();
        return time.format(DateTimeFormatter.ofPattern("HH:mm:ss"));
    }

    // 获取当前日期时间
    public static String getCurrentDateTime() {
        LocalDateTime dateTime = LocalDateTime.now();
        return dateTime.format(formatter);
    }

    // 字符串转日期时间
    public static LocalDateTime stringToDateTime(String dateTimeStr) {
        return LocalDateTime.parse(dateTimeStr, formatter);
    }

    // 日期时间转字符串
    public static String dateTimeToString(LocalDateTime dateTime) {
        return dateTime.format(formatter);
    }

    // 示例:使用工具类
    public static void main(String[] args) {
        System.out.println("当前日期: " + getCurrentDate());
        System.out.println("当前时间: " + getCurrentTime());
        System.out.println("当前日期时间: " + getCurrentDateTime());

        String dateTimeStr = "2024-09-11 12:34:56";
        LocalDateTime dateTime = stringToDateTime(dateTimeStr);
        System.out.println("字符串转日期时间: " + dateTimeToString(dateTime));
    }
}

这个工具类提供了获取当前日期、时间、日期时间的方法,以及将字符串转换为`LocalDateTime`和将`LocalDateTime`转换为字符串的方法。你可以根据自己的需求扩展这个工具类,添加更多的日期时间处理功能。

请注意,由于Java的`java.time`包是在Java 8及更高版本中引入的,因此要使用这个工具类,你的Java版本必须是Java 8或更高。