shengyang000 лет назад: 3
Родитель
Сommit
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 5
 import java.text.Format;
6 6
 import java.text.ParseException;
7 7
 import java.text.SimpleDateFormat;
8
-import java.time.LocalDate;
9 8
 import java.time.LocalDateTime;
10 9
 import java.time.ZoneId;
11
-import java.time.format.DateTimeFormatter;
12
-import java.time.temporal.WeekFields;
13 10
 import java.util.Calendar;
14 11
 import java.util.Date;
15
-import java.util.Locale;
16 12
 
17 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 207
      * 获取当前时间0分0秒的日期
202 208
      *
203 209
      * @return
@@ -207,6 +213,15 @@ public class DateUtil {
207 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 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 263
      * 获取当前日期 hour时minute分second秒 的日期
222 264
      *
223 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 291
      * 获取当前周星期一 hour时minute分second秒 的日期
241 292
      *
242 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 330
      * 获取当前月第一天 hour时minute分second秒 的日期
271 331
      *
272 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 369
      * 获取当前季度第一天 hour时minute分second秒 的日期
301 370
      *
302 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 423
      * 获取当前年第一天 hour时minute分second秒 的日期
334 424
      *
335 425
      * @return