浏览代码

修改日期工具类

shengyang000 3 年之前
父节点
当前提交
0f610e3954
共有 1 个文件被更改,包括 94 次插入4 次删除
  1. 94 4
      src/main/java/com/unissoft/utils/DateUtil.java

+ 94 - 4
src/main/java/com/unissoft/utils/DateUtil.java

@@ -5,14 +5,10 @@ import org.apache.commons.lang3.time.DateUtils;
5
 import java.text.Format;
5
 import java.text.Format;
6
 import java.text.ParseException;
6
 import java.text.ParseException;
7
 import java.text.SimpleDateFormat;
7
 import java.text.SimpleDateFormat;
8
-import java.time.LocalDate;
9
 import java.time.LocalDateTime;
8
 import java.time.LocalDateTime;
10
 import java.time.ZoneId;
9
 import java.time.ZoneId;
11
-import java.time.format.DateTimeFormatter;
12
-import java.time.temporal.WeekFields;
13
 import java.util.Calendar;
10
 import java.util.Calendar;
14
 import java.util.Date;
11
 import java.util.Date;
15
-import java.util.Locale;
16
 
12
 
17
 import static cn.hutool.core.date.DateUtil.format;
13
 import static cn.hutool.core.date.DateUtil.format;
18
 
14
 
@@ -198,6 +194,16 @@ public class DateUtil {
198
     }
194
     }
199
 
195
 
200
     /**
196
     /**
197
+     * 获取下一分钟0秒的日期
198
+     *
199
+     * @return
200
+     */
201
+    public static Date getNextMinute() {
202
+        Date data = getCurrMinute();
203
+        return DateUtils.addMinutes(data, 1);
204
+    }
205
+
206
+    /**
201
      * 获取当前时间0分0秒的日期
207
      * 获取当前时间0分0秒的日期
202
      *
208
      *
203
      * @return
209
      * @return
@@ -207,6 +213,15 @@ public class DateUtil {
207
         return getSpecificDate(date, null, 0, 0);
213
         return getSpecificDate(date, null, 0, 0);
208
     }
214
     }
209
 
215
 
216
+    /**
217
+     * 获取下一小时0分0秒的日期
218
+     *
219
+     * @return
220
+     */
221
+    public static Date getNextHour() {
222
+        Date date = getCurrHour();
223
+        return DateUtils.addHours(date, 1);
224
+    }
210
 
225
 
211
     /**
226
     /**
212
      * 获取当前日期 0时0分0秒 的日期
227
      * 获取当前日期 0时0分0秒 的日期
@@ -218,6 +233,33 @@ public class DateUtil {
218
     }
233
     }
219
 
234
 
220
     /**
235
     /**
236
+     * 获取下一日期 0时0分0秒 的日期
237
+     *
238
+     * @return
239
+     */
240
+    public static Date getNextDate() {
241
+        Date date = getCurrDate();
242
+        return DateUtils.addDays(date, 1);
243
+    }
244
+
245
+    /**
246
+     * 获取下一个工作日 0时0分0秒 的日期
247
+     * @return
248
+     */
249
+    public static Date getNextWeekday() {
250
+        Date date = getCurrDate();
251
+        Calendar cal = Calendar.getInstance();
252
+        cal.setTime(date);
253
+        int day = cal.get(Calendar.DAY_OF_WEEK);
254
+        if(day == Calendar.FRIDAY) {
255
+            return DateUtils.addDays(date, 3);
256
+        } else if(day == Calendar.SATURDAY) {
257
+            return DateUtils.addDays(date, 2);
258
+        }
259
+        return DateUtils.addDays(date, 1);
260
+    }
261
+
262
+    /**
221
      * 获取当前日期 hour时minute分second秒 的日期
263
      * 获取当前日期 hour时minute分second秒 的日期
222
      *
264
      *
223
      * @return
265
      * @return
@@ -237,6 +279,15 @@ public class DateUtil {
237
     }
279
     }
238
 
280
 
239
     /**
281
     /**
282
+     * 获取下周星期一 0时0分0秒 的日期
283
+     * @return
284
+     */
285
+    public static Date getFirstDateOfNextWeek() {
286
+        Date date = getFirstDateOfCurrWeek();
287
+        return DateUtils.addWeeks(date, 1);
288
+    }
289
+
290
+    /**
240
      * 获取当前周星期一 hour时minute分second秒 的日期
291
      * 获取当前周星期一 hour时minute分second秒 的日期
241
      *
292
      *
242
      * @return
293
      * @return
@@ -267,6 +318,15 @@ public class DateUtil {
267
     }
318
     }
268
 
319
 
269
     /**
320
     /**
321
+     * 获取下月第一天 0时0分0秒 的日期
322
+     * @return
323
+     */
324
+    public static Date getFirstDateOfNextMonth() {
325
+        Date date = getFirstDateOfCurrMonth();
326
+        return DateUtils.addMonths(date, 1);
327
+    }
328
+
329
+    /**
270
      * 获取当前月第一天 hour时minute分second秒 的日期
330
      * 获取当前月第一天 hour时minute分second秒 的日期
271
      *
331
      *
272
      * @return
332
      * @return
@@ -297,6 +357,15 @@ public class DateUtil {
297
     }
357
     }
298
 
358
 
299
     /**
359
     /**
360
+     * 获取下一季度第一天 0时0分0秒 的日期
361
+     * @return
362
+     */
363
+    public static Date getFirstDateOfNextSeason() {
364
+        Date date = getFirstDateOfCurrSeason();
365
+        return DateUtils.addMonths(date, 3);
366
+    }
367
+
368
+    /**
300
      * 获取当前季度第一天 hour时minute分second秒 的日期
369
      * 获取当前季度第一天 hour时minute分second秒 的日期
301
      *
370
      *
302
      * @return
371
      * @return
@@ -330,6 +399,27 @@ public class DateUtil {
330
     }
399
     }
331
 
400
 
332
     /**
401
     /**
402
+     * 获取明年第一天 0时0分0秒 的日期
403
+     * @return
404
+     */
405
+    public static Date getFirstDateOfNextYear() {
406
+        Date date = getFirstDateOfCurrYear();
407
+        return DateUtils.addYears(date, 1);
408
+    }
409
+
410
+    public static void main(String[] args) {
411
+//        Date date = getNextMinute();
412
+//        Date date = getNextHour();
413
+//        Date date = getNextDate();
414
+        Date date = getNextWeekday();
415
+//        Date date = getFirstDateOfNextWeek();
416
+//        Date date = getFirstDateOfNextMonth();
417
+//        Date date = getFirstDateOfNextSeason();
418
+//        Date date = getFirstDateOfNextYear();
419
+        System.out.println(formatDate(date));
420
+    }
421
+
422
+    /**
333
      * 获取当前年第一天 hour时minute分second秒 的日期
423
      * 获取当前年第一天 hour时minute分second秒 的日期
334
      *
424
      *
335
      * @return
425
      * @return