lcoaldateTime的工具类
时间: 2023-07-03 19:09:57 浏览: 120
以下是一个示例的`LocalDateTime`工具类,其中包含了一些常用的方法:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class LocalDateTimeUtils {
private static final String DEFAULT_PATTERN = "yyyy-MM-dd HH:mm:ss";
/**
* 将LocalDateTime转为指定格式的字符串
*
* @param dateTime LocalDateTime对象
* @param pattern 日期格式字符串
* @return 格式化后的日期字符串
*/
public static String format(LocalDateTime dateTime, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return dateTime.format(formatter);
}
/**
* 将LocalDateTime转为默认格式(yyyy-MM-dd HH:mm:ss)的字符串
*
* @param dateTime LocalDateTime对象
* @return 格式化后的日期字符串
*/
public static String format(LocalDateTime dateTime) {
return format(dateTime, DEFAULT_PATTERN);
}
/**
* 将指定格式的字符串解析为LocalDateTime对象
*
* @param dateTimeStr 日期字符串
* @param pattern 日期格式字符串
* @return LocalDateTime对象
*/
public static LocalDateTime parse(String dateTimeStr, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return LocalDateTime.parse(dateTimeStr, formatter);
}
/**
* 将默认格式(yyyy-MM-dd HH:mm:ss)的字符串解析为LocalDateTime对象
*
* @param dateTimeStr 日期字符串
* @return LocalDateTime对象
*/
public static LocalDateTime parse(String dateTimeStr) {
return parse(dateTimeStr, DEFAULT_PATTERN);
}
/**
* 获取当前时间的LocalDateTime对象
*
* @return LocalDateTime对象
*/
public static LocalDateTime now() {
return LocalDateTime.now();
}
/**
* 计算两个LocalDateTime对象之间的时间差(单位:秒)
*
* @param start 开始时间
* @param end 结束时间
* @return 时间差(单位:秒)
*/
public static long between(LocalDateTime start, LocalDateTime end) {
return end.toEpochSecond(null) - start.toEpochSecond(null);
}
}
```
使用示例:
```java
LocalDateTime now = LocalDateTimeUtils.now();
String nowStr = LocalDateTimeUtils.format(now);
System.out.println("当前时间:" + nowStr);
String dateTimeStr = "2022-01-01 00:00:00";
LocalDateTime dateTime = LocalDateTimeUtils.parse(dateTimeStr);
long seconds = LocalDateTimeUtils.between(now, dateTime);
System.out.println("距离" + dateTimeStr + "还有" + seconds + "秒");
```
输出结果:
```
当前时间:2022-08-02 14:27:48
距离2022-01-01 00:00:00还有-1609493268秒
```
阅读全文