package com.qianwen.core.tool.utils;
|
|
import java.time.Duration;
|
import java.time.Instant;
|
import java.time.LocalDate;
|
import java.time.LocalDateTime;
|
import java.time.LocalTime;
|
import java.time.Period;
|
import java.time.ZoneId;
|
import java.time.format.DateTimeFormatter;
|
import java.time.temporal.Temporal;
|
import java.time.temporal.TemporalAccessor;
|
import java.util.Date;
|
|
/* loaded from: blade-core-tool-9.3.0.0-SNAPSHOT.jar:org/springblade/core/tool/utils/DateTimeUtil.class */
|
public class DateTimeUtil {
|
public static final DateTimeFormatter DATETIME_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
public static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
public static final DateTimeFormatter TIME_FORMAT = DateTimeFormatter.ofPattern(DateUtil.PATTERN_TIME);
|
|
public static String formatDateTime(TemporalAccessor temporal) {
|
return DATETIME_FORMAT.format(temporal);
|
}
|
|
public static String formatDate(TemporalAccessor temporal) {
|
return DATE_FORMAT.format(temporal);
|
}
|
|
public static String formatTime(TemporalAccessor temporal) {
|
return TIME_FORMAT.format(temporal);
|
}
|
|
public static String format(TemporalAccessor temporal, String pattern) {
|
return DateTimeFormatter.ofPattern(pattern).format(temporal);
|
}
|
|
public static LocalDateTime parseDateTime(String dateStr, String pattern) {
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
|
return parseDateTime(dateStr, formatter);
|
}
|
|
public static LocalDateTime parseDateTime(String dateStr, DateTimeFormatter formatter) {
|
return LocalDateTime.parse(dateStr, formatter);
|
}
|
|
public static LocalDateTime parseDateTime(String dateStr) {
|
return parseDateTime(dateStr, DATETIME_FORMAT);
|
}
|
|
public static LocalDate parseDate(String dateStr, String pattern) {
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
|
return parseDate(dateStr, formatter);
|
}
|
|
public static LocalDate parseDate(String dateStr, DateTimeFormatter formatter) {
|
return LocalDate.parse(dateStr, formatter);
|
}
|
|
public static LocalDate parseDate(String dateStr) {
|
return parseDate(dateStr, DATE_FORMAT);
|
}
|
|
public static LocalTime parseTime(String dateStr, String pattern) {
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
|
return parseTime(dateStr, formatter);
|
}
|
|
public static LocalTime parseTime(String dateStr, DateTimeFormatter formatter) {
|
return LocalTime.parse(dateStr, formatter);
|
}
|
|
public static LocalTime parseTime(String dateStr) {
|
return parseTime(dateStr, TIME_FORMAT);
|
}
|
|
public static Instant toInstant(LocalDateTime dateTime) {
|
return dateTime.atZone(ZoneId.systemDefault()).toInstant();
|
}
|
|
public static LocalDateTime toDateTime(Instant instant) {
|
return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
}
|
|
public static Date toDate(LocalDateTime dateTime) {
|
return Date.from(toInstant(dateTime));
|
}
|
|
public static Duration between(Temporal startInclusive, Temporal endExclusive) {
|
return Duration.between(startInclusive, endExclusive);
|
}
|
|
public static Period between(LocalDate startDate, LocalDate endDate) {
|
return Period.between(startDate, endDate);
|
}
|
}
|