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