From 5b545fd1006fb28dbe3928c666db2d8a0622fcf2 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 29 十一月 2023 17:07:05 +0800
Subject: [PATCH] 优化
---
ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java | 248 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 248 insertions(+), 0 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java b/ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java
new file mode 100644
index 0000000..2115b5d
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java
@@ -0,0 +1,248 @@
+package com.ycl.common.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+
+
+public class DateUtils {
+
+ /**
+ * 鑾峰彇涓ゆ棩鏈熶箣闂撮棿闅旂殑澶╂暟
+ *
+ * @param smdate
+ * 杈冨皬鐨勬椂闂�
+ * @param bdate
+ * 杈冨ぇ鐨勬椂闂�
+ * @return 鐩稿樊澶╂暟
+ */
+ public static int daysBetween(Date smdate, Date bdate) {
+ long between_days = 0;
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ smdate = sdf.parse(sdf.format(smdate));
+ bdate = sdf.parse(sdf.format(bdate));
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(smdate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(bdate);
+ long time2 = cal.getTimeInMillis();
+ between_days = (time2 - time1) / (1000 * 3600 * 24);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ return Integer.parseInt(String.valueOf(between_days));
+ }
+
+ public static boolean isBetween(Date date, Date startDate, Date endDate) {
+
+ try {
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ startDate = sdf.parse(sdf.format(startDate));
+ endDate = sdf.parse(sdf.format(endDate));
+ date = sdf.parse(sdf.format(date));
+
+ Calendar cal = Calendar.getInstance();
+
+ cal.setTime(date);
+ long time0 = cal.getTimeInMillis();
+ cal.setTime(startDate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(endDate);
+ long time2 = cal.getTimeInMillis();
+
+ if (time0 > time1 && time0 <= time2)
+ return true;
+
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return false;
+
+ }
+
+ public static boolean isToday(Date date) {
+
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ String _date = sdf.format(date);
+ String _today = sdf.format(new Date());
+
+ return _date.equals(_today);
+ }
+
+ public static long DifferMillis(Date sDate, Date eDate) {
+ try {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ sDate = sdf.parse(sdf.format(sDate));
+ eDate = sdf.parse(sdf.format(eDate));
+ Calendar cal = Calendar.getInstance();
+ cal.setTime(sDate);
+ long time1 = cal.getTimeInMillis();
+ cal.setTime(eDate);
+ long time2 = cal.getTimeInMillis();
+ return Math.abs(time1 - time2);
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+
+ return -1L;
+ }
+
+ public static long DifferSeconds(Date sDate, Date eDate) {
+
+ return DifferMillis(sDate, eDate) / 1000;
+ }
+
+ /**
+ * 鐩稿樊鍒嗛挓鏁�
+ *
+ * @param sDate
+ * @param eDate
+ * @return
+ */
+ public static long DifferMinutes(Date sDate, Date eDate) {
+
+ return Long.parseLong(String.valueOf(DifferMillis(sDate, eDate)
+ / (1000 * 60)));
+ }
+
+ public static String getNowDate(String format) {
+ return new SimpleDateFormat(format).format(new Date());
+ }
+
+ public static String getTomorrowDate(String format) {
+ return new SimpleDateFormat(format).format(addDate(new Date(), 1));
+ }
+
+ public static String getDateString(Date date, String format) {
+ return new SimpleDateFormat(format).format(date);
+ }
+
+ public static String getNow() {
+ return getDateString(new Date(), DateUtils.DATE_TIME_PATTERN);
+ }
+ public static Date parse(String date, String format) {
+
+ try {
+ return new SimpleDateFormat(format).parse(date);
+ } catch (ParseException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static boolean nowTimeBetween(String beginTimeStr, String endTimeStr)
+ throws ParseException {
+ SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm:ss");
+ Long beginTime = dateFormat.parse(beginTimeStr).getTime();
+ Long endTime = dateFormat.parse(endTimeStr).getTime();
+ Long nowTime = dateFormat.parse(dateFormat.format(new Date()))
+ .getTime();
+ if (nowTime >= beginTime && nowTime <= endTime) {
+ return true;
+ }
+ return false;
+ }
+
+ @SuppressWarnings("static-access")
+ public static Date addDate(Date date, int days) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.add(calendar.DATE, days);// 鎶婃棩鏈熷線鍚庡鍔犱竴澶�.鏁存暟寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+ return calendar.getTime(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ @SuppressWarnings("static-access")
+ public static Date addHour(Date date, int hour) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.add(calendar.HOUR, hour);// 鎶婃棩鏈熷線鍚庡鍔犱竴澶�.鏁存暟寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+ return calendar.getTime(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ @SuppressWarnings("static-access")
+ public static Date addMinute(Date date, int minute) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.add(calendar.MINUTE, minute);// 鎶婃棩鏈熷線鍚庡鍔犱竴澶�.鏁存暟寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+ return calendar.getTime(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ @SuppressWarnings("static-access")
+ public static Date addSecond(Date date, int second) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ calendar.add(calendar.SECOND, second);// 鎶婃棩鏈熷線鍚庡鍔犱竴澶�.鏁存暟寰�鍚庢帹,璐熸暟寰�鍓嶇Щ鍔�
+ return calendar.getTime(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ /**
+ *
+ * @param timestamp
+ * 绉�
+ * @return
+ */
+ public static Date getDate(String timestamp) {
+ return getDateBySecond(Long.parseLong(timestamp)); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ /**
+ *
+ * @param timestamp
+ * 姣
+ * @return
+ */
+ public static Date getDateByMillis(long timestamp) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTimeInMillis(timestamp);
+ return calendar.getTime(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ /**
+ *
+ * @param timestamp
+ * 绉�
+ * @return
+ */
+ public static Date getDateBySecond(long timestamp) {
+ return getDateByMillis(timestamp * 1000); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ public static long getTimestamp(Date date) {
+ Calendar calendar = new GregorianCalendar();
+ calendar.setTime(date);
+ return calendar.getTimeInMillis(); // 杩欎釜鏃堕棿灏辨槸鏃ユ湡寰�鍚庢帹涓�澶╃殑缁撴灉
+ }
+
+ public static long DifferMillis(String timestamp, String nowTimestamp) {
+ Date date1 = parse(timestamp, DATE_TIME_PATTERN);
+ Date date2 = parse(nowTimestamp, DATE_TIME_PATTERN);
+
+ return DifferMillis(date1, date2);
+ }
+
+ public static long DifferMillis(String timestamp, Date date) {
+ Date date1 = parse(timestamp, DATE_TIME_PATTERN);
+
+ return DifferMillis(date1, date);
+ }
+ public static String dateToStamp(String s) throws ParseException{
+ String res;
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ Date date = simpleDateFormat.parse(s);
+ long ts = date.getTime();
+ res = String.valueOf(ts);
+ return res;
+ }
+ public static void main(String[] args) throws ParseException {
+ System.out.println(DateUtils.getDateString(new Date(), "yyyy-MM-dd HH:mm:ss"));
+ }
+
+
+ public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
+}
\ No newline at end of file
--
Gitblit v1.8.0