在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或更高。