public class DateUtil {
private static final DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
public static LocalDateTime initTimeOfCurrentDay() {
return LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
}
public static LocalDateTime lastTimeOfCurrentDay() {
return LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
}
public static LocalDateTime initTimeOfDay(LocalDateTime localDateTime) {
return LocalDateTime.of(localDateTime.toLocalDate(), LocalTime.MIN);
}
public static LocalDateTime lastTimeOfDay(LocalDateTime localDateTime) {
return LocalDateTime.of(localDateTime.toLocalDate(), LocalTime.MAX);
}
public static LocalDateTime initTimeOfDay(LocalDate localDate) {
return LocalDateTime.of(localDate, LocalTime.MIN);
}
public static LocalDateTime lastTimeOfDay(LocalDate localDate) {
return LocalDateTime.of(localDate, LocalTime.MAX);
}
public static Date localDateTime2Date(LocalDateTime localDateTime) {
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
return Date.from(instant);
}
public static LocalDateTime date2LocalDateTime(Date date) {
Instant instant = Instant.ofEpochMilli(date.getTime());
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
return localDateTime;
}
public static LocalDateTime millTimeStamp2LocalDateTime(Long timeStampMill) {
return LocalDateTime.ofInstant(Instant.ofEpochMilli(timeStampMill), ZoneId.systemDefault());
}
public static LocalDateTime secondTimeStamp2LocalDateTime(Long timeStampSecond) {
return LocalDateTime.ofInstant(Instant.ofEpochSecond(timeStampSecond), ZoneId.systemDefault());
}
public static LocalDate timeStamp2LocalDate(Long timeStampSecond) {
ZonedDateTime zdt = Instant.ofEpochSecond(timeStampSecond).atZone(ZoneId.systemDefault());
return zdt.toLocalDate();
}
public static String formatDate(LocalDateTime localDateTime, String pattern) {
assert localDateTime != null;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return localDateTime.format(formatter);
}
public static Date formatDate(String date, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
LocalDateTime localDateTime = LocalDateTime.parse(date, formatter);
return localDateTime2Date(localDateTime);
}
public static String formatDate(Long timeStampSecond, String pattern) {
LocalDateTime localDateTime = secondTimeStamp2LocalDateTime(timeStampSecond);
return formatDate(localDateTime, pattern);
}
public static LocalDateTime formatLocalDateTime(String date, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return LocalDateTime.parse(date, formatter);
}
public static LocalDate formatLocalDate(String date, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return LocalDate.parse(date, formatter);
}
public static LocalTime formatLocalTime(String time, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return LocalTime.parse(time, formatter);
}
public static String date2String(Date date, String pattern) {
LocalDateTime tmp = date2LocalDateTime(date);
return formatDate(tmp, pattern);
}
public static Long localDateTime2Long(LocalDateTime localDateTime) {
return localDateTime.atZone(ZoneId.systemDefault()).toEpochSecond();
}
public static String localDateTime2String(LocalDateTime localDateTime) {
return df.format(localDateTime);
}
public static String localDate2String(LocalDate localDate, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return localDate.format(formatter);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
2015-04-20 使用JAVA数组实现顺序栈