java date 工具类_Java 8 Date常用工具类

1 packageorg.fool.util;2

3 importjava.time.Instant;4 importjava.time.LocalDate;5 importjava.time.LocalDateTime;6 importjava.time.LocalTime;7 importjava.time.ZoneId;8 importjava.time.format.DateTimeFormatter;9 importjava.util.Date;10

11 public classDateUtils {12 public static final String DATE_FORMAT_YYYY_MM_DD = "yyyy-MM-dd";13 public static final String DATE_FORMAT_YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";14 public static final String DATE_FORMAT_YYYY_MM_DD_HH_MM_SS_SSS = "yyyy-MM-dd HH:mm:ss.SSS";15

16 /**

17 * get the current date18 */

19 public staticDate getCurrentDate() {20 return newDate();21 }22

23 /**

24 * get the beginning of current date25 */

26 public staticDate getStartCurrentDate() {27 LocalDateTime start =LocalDateTime.of(LocalDate.now(), LocalTime.MIN);28 returnlocalDateTimeToDate(start);29 }30

31 /**

32 * get the ending of current date33 */

34 public staticDate getEndCurrentDate() {35 LocalDateTime end =LocalDateTime.of(LocalDate.now(), LocalTime.MAX);36 returnlocalDateTimeToDate(end);37 }38

39 /**

40 * get the previous date41 */

42 public static Date getPreviousDate(longdays) {43 LocalDate localDate =LocalDate.now().minusDays(days);44 returnlocalDateToDate(localDate);45 }46

47 /**

48 * get the future date49 */

50 public static Date getFutureDate(longdays) {51 LocalDate localDate =LocalDate.now().plusDays(days);52 returnlocalDateToDate(localDate);53 }54

55 /**

56 * LocalDate => Date57 */

58 public staticDate localDateToDate(LocalDate localDate) {59 returnDate.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());60 }61

62 /**

63 * LocalDateTime => Date64 */

65 public staticDate localDateTimeToDate(LocalDateTime localDateTime) {66 returnDate.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());67 }68

69 /**

70 * Date => LocalDate71 */

72 public staticLocalDate dateToLocalDate(Date date) {73 returnInstant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDate();74 }75

76 /**

77 * Date => LocalDateTime78 */

79 public staticLocalDateTime dateToLocalDateTime(Date date) {80 returnInstant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();81 }82

83 /**

84 * Date => String85 */

86 public staticString dateToString(Date date, String format) {87 DateTimeFormatter formatter =DateTimeFormatter.ofPattern(format);88 returndate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime().format(formatter);89 }90

91 /**

92 * dateString => Date93 */

94 public staticDate dateStringToDate(String dateStr, String format) {95 DateTimeFormatter dateTimeFormatter =DateTimeFormatter.ofPattern(format);96 LocalDate localDate =LocalDate.parse(dateStr, dateTimeFormatter);97 returnDate.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());98 }99

100 /**

101 * dateTimeString => Date102 */

103 public staticDate dateTimeStringToDate(String dateTimeStr, String format) {104 DateTimeFormatter dateTimeFormatter =DateTimeFormatter.ofPattern(format);105 LocalDateTime localDateTime =LocalDateTime.parse(dateTimeStr, dateTimeFormatter);106 returnDate.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());107 }108

109 /**

110 * dateString => LocalDate111 */

112 public staticLocalDate dateStringToLocalDate(String dateStr, String format) {113 DateTimeFormatter dateTimeFormatter =DateTimeFormatter.ofPattern(format);114 returnLocalDate.parse(dateStr, dateTimeFormatter);115 }116

117 /**

118 * dateTimeString => LocalDate119 */

120 public staticLocalDateTime dateTimeStringToLocalDateTime(String dateTimeStr, String format) {121 DateTimeFormatter dateTimeFormatter =DateTimeFormatter.ofPattern(format);122 returnLocalDateTime.parse(dateTimeStr, dateTimeFormatter);123 }124 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值