From 13b31b2ca2a5f8600002a042b536c9d5529842e3 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:21:18 +0800
Subject: [PATCH] #
---
src/main/java/com/core/common/DateUtils.java | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 161 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/core/common/DateUtils.java b/src/main/java/com/core/common/DateUtils.java
new file mode 100644
index 0000000..f8e9c20
--- /dev/null
+++ b/src/main/java/com/core/common/DateUtils.java
@@ -0,0 +1,161 @@
+package com.core.common;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+
+public class DateUtils {
+
+ public static final String yyyyMMdd_C = "yyyy骞碝M鏈坉d鏃�";
+ public static final String yyyyMM_F = "yyyy-MM";
+ public static final String yyyyMMdd_F = "yyyy-MM-dd";
+ public static final String yyyyMMddHHmmss_F = "yyyy-MM-dd HH:mm:ss";
+ public static final String yyyyMMddHHmmsssss_F = "yyyy-MM-dd HH:mm:ss:SSS";
+ public static final String yyyy = "yyyy";
+ public static final String yyyyMM = "yyyyMM";
+ public static final String yyyyMMdd = "yyyyMMdd";
+ public static final String yyyyMMddHH = "yyyyMMddHH";
+ public static final String yyyyMMddHHmmss = "yyyyMMddHHmmss";
+ public static final String YYMMDDHHMMSS = "yyMMddHHmmss";
+ public static final String yyyyMMddHHmmsssss = "yyyyMMddHHmmssSSS";
+
+ public static String convert(Date date, String format) {
+ return new SimpleDateFormat(format).format(date);
+ }
+
+ public static String convert(Date date) {
+ return convert(date, yyyyMMddHHmmss_F);
+ }
+
+ public static Date convert(String text, String format) {
+ if (text.length() < format.length()) {
+ throw new RuntimeException("鏃堕棿瑙f瀽澶辫触 ==>>" + text);
+ }
+ if (text.length() > format.length()) {
+ text = text.substring(0, format.length());
+ }
+ try {
+ return new SimpleDateFormat(format).parse(text);
+ } catch (ParseException e) {
+ throw new RuntimeException("鏃堕棿瑙f瀽澶辫触 ==>>" + text);
+ }
+ }
+
+ public static Date convert(String text) {
+ return convert(text, yyyyMMddHHmmss_F);
+ }
+
+ public static int diff(Date start, Date end) {
+ return getDaysByTimestamp(Math.abs(end.getTime() - start.getTime()));
+ }
+
+ public static long diffToMinute(Date start, Date end) {
+ return Math.abs(end.getTime() - start.getTime()) / 1000L / 60L;
+ }
+
+ public static long diffToSeconds(Date start, Date end) {
+ return Math.abs(end.getTime() - start.getTime()) / 1000L;
+ }
+
+ private static int getDaysByTimestamp(long timestamp) {
+ double days = Arith.divides(2, timestamp, 86400000);
+ int value = (int) days;
+ if (days > value) {
+ return value + 1;
+ }
+ return value;
+ }
+
+ public static int diffToNow(Date date) {
+ long val = new Date().getTime() - date.getTime();
+ return (int) (Math.abs(val) / 1000L);
+ }
+
+ public static String createTimeStamp() {
+ return Long.toString(System.currentTimeMillis() / 1000L);
+ }
+
+ public static Date calculate(Date date, Long amount, TimeUnit unit, boolean before) {
+ if (Objects.isNull(date) || Objects.isNull(amount) || Objects.isNull(unit)) {
+ return null;
+ }
+ return new Date(before ? date.getTime() - unit.toMillis(amount) : date.getTime() + unit.toMillis(amount));
+ }
+
+ public static Date calculate(Date date, Long amount, TimeUnit unit) {
+ return calculate(date, amount, unit, false);
+ }
+
+ public static DateEntity getDateEntity(Date date) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(date);
+ DateEntity entity = new DateEntity();
+ entity.setYear(calendar.get(Calendar.YEAR));
+ entity.setMonth(calendar.get(Calendar.MONTH));
+ entity.setDay(calendar.get(Calendar.DAY_OF_MONTH));
+ entity.setHour(calendar.get(Calendar.HOUR_OF_DAY));
+ entity.setMinute(calendar.get(Calendar.MINUTE));
+ entity.setSecond(calendar.get(Calendar.SECOND));
+ return entity;
+ }
+
+ public static class DateEntity {
+ private int year;
+ private int month;
+ private int day;
+ private int hour;
+ private int minute;
+ private int second;
+
+ public int getYear() {
+ return year;
+ }
+
+ public void setYear(int year) {
+ this.year = year;
+ }
+
+ public int getMonth() {
+ return month;
+ }
+
+ public void setMonth(int month) {
+ this.month = month;
+ }
+
+ public int getDay() {
+ return day;
+ }
+
+ public void setDay(int day) {
+ this.day = day;
+ }
+
+ public int getHour() {
+ return hour;
+ }
+
+ public void setHour(int hour) {
+ this.hour = hour;
+ }
+
+ public int getMinute() {
+ return minute;
+ }
+
+ public void setMinute(int minute) {
+ this.minute = minute;
+ }
+
+ public int getSecond() {
+ return second;
+ }
+
+ public void setSecond(int second) {
+ this.second = second;
+ }
+ }
+}
--
Gitblit v1.9.1