Java8日期类LocalDate、LocalTime、LocalDateTime使用详解 本是古典 何须时尚 2024-03-23 11:30 44阅读 0赞 ### 一、Java8之前日期类所存在的问题 ### 在`Java8`之前通常会使用`Date`结合`SimpleDateFormat`、`Calender`来处理时间和日期的相关需求。 但是这些`API`也存在明显的缺点: * 可读性差、易用性差、使用起来冗余繁琐 * `java.util.Date` 是非线程安全的 * `java.util.Date` 存在千年虫问题、并且不支持国际化和时区、故大部分方法被声明为过时、不建议再使用 * `java.util`和`java.sql`两包中都有`Date`类,设计上并不合理 而`java8`在`java.time`包下重新实现了日期相关类。 每个类功能明确清晰、类之间协作简单、API 定义清晰、功能强大无需借助外部工具类,并且线程安全。 ### 二、Java8新增日期类 ### `Java8`新增的日期类主要有三个: * `LocalDate`:表示日期(年月日) * `LocalTime` :表示时间(时分秒) * `LocalDateTime`:表示时间+ 日期 (年月日时分秒),是`java8`最常用的日期类 这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类。 因此它们都是线程安全的。 #### 2.1 LocalDate #### ##### 2.1.1 常用API ##### <table> <thead> <tr> <th>方法</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>static LocalDate now()</td> <td>获取默认时区的当前日期对象</td> </tr> <tr> <td>static LocalDate now(Clock clock)</td> <td>从指定时钟获取当前日期对象</td> </tr> <tr> <td>static LocalDate now(ZoneId zone)</td> <td>获取指定时区的当前日期对象</td> </tr> <tr> <td>of</td> <td>根据指定年月日创建LocalDate对象</td> </tr> <tr> <td>getYear</td> <td>获得年份</td> </tr> <tr> <td>getMonthValue</td> <td>获得月份(1-12)</td> </tr> <tr> <td>getMonth</td> <td>获得月份枚举值</td> </tr> <tr> <td>getDayOfMonth</td> <td>获得月份中的第几天(1-31)</td> </tr> <tr> <td>getDayOfWeek</td> <td>获得星期几</td> </tr> <tr> <td>getDayOfYear</td> <td>获得年份中的第几天(1-366)</td> </tr> <tr> <td>lengthOfYear</td> <td>获得当年总天数</td> </tr> <tr> <td>lengthOfMonth</td> <td>获得当月总天数</td> </tr> <tr> <td>toEpochDay</td> <td>与时间纪元(1970年1月1日)相差的天数</td> </tr> <tr> <td>plusDays</td> <td>加天</td> </tr> <tr> <td>plusWeeks</td> <td>加周</td> </tr> <tr> <td>plusMonths</td> <td>加月</td> </tr> <tr> <td>plusYears</td> <td>加年</td> </tr> <tr> <td>minusDays</td> <td>减年</td> </tr> <tr> <td>minusWeeks</td> <td>减周</td> </tr> <tr> <td>minusMonths</td> <td>减月</td> </tr> <tr> <td>minusYears</td> <td>减年</td> </tr> <tr> <td>withYear</td> <td>替换年份</td> </tr> <tr> <td>withMonth</td> <td>替换月份</td> </tr> <tr> <td>withDayOfMonth</td> <td>替换月份中的第几天(1-31)</td> </tr> <tr> <td>withDayOfYear</td> <td>替换年份中的第几天(1-366)</td> </tr> <tr> <td>isBefore</td> <td>是否日期在之前</td> </tr> <tr> <td>isAfter</td> <td>是否日期在之后</td> </tr> <tr> <td>isEqual</td> <td>是否是当前日期</td> </tr> <tr> <td>isleapYear</td> <td>是否是闰年</td> </tr> </tbody> </table> ##### 2.1.2 使用示例 ##### ###### 1)创建方法 ###### LocalDate now1 = LocalDate.now(); // 当前日期 LocalDate now2 = LocalDate.now(ZoneId.of("Asia/Shanghai")); // 当前日期 (指定时区) LocalDate now3 = LocalDate.now(Clock.systemDefaultZone()); // 当前日期 (指定时钟) LocalDate localDate = LocalDate.of(2023, 1, 1); // 指定日期 2023-01-01 ###### 2)获取方法 ###### LocalDate now = LocalDate.now(); int year = now.getYear(); // 获取年份 int month = now.getMonthValue(); // 获取月份(1-12) Month monthEnum = now.getMonth(); // 获取月份的枚举值 int dayOfMonth = now.getDayOfMonth(); // 获取月份中的第几天(1-31) int dayOfYear = now.getDayOfYear(); // 获取一年中的第几天(1-366) DayOfWeek dayOfWeek = now.getDayOfWeek(); // 获取现在是星期几 int dayOfYear = now.getDayOfYear(); // 获取一年中的第几天(1-366) int lengthOfYear = now.lengthOfYear(); // 获得当年总天数 int lengthOfMonth = now.lengthOfMonth(); // 获得当月总天数 long epochDay = now.toEpochDay(); // 与时间纪元(1970年1月1日)相差的天数 ###### 3)运算方法 ###### LocalDate now = LocalDate.now(); LocalDate localDate1 = now.plusDays(1); // 给当前时间加一天 LocalDate localDate2 = now.plusDays(1); // 给当前时间加一周 LocalDate localDate3 = now.plusMonths(1); // 给当前时间加一月 LocalDate localDate4 = now.plusYears(1); // 给当前时间加一年 LocalDate localDate5 = now.minusDays(1); // 给当前时间减一天 LocalDate localDate6 = now.minusWeeks(1); // 给当前时间减一周 LocalDate localDate7 = now.minusMonths(1); // 给当前时间减一月 LocalDate localDate8 = now.minusYears(1); // 给当前时间减一年 ###### 4)修改方法 ###### LocalDate now = LocalDate.now(); LocalDate localDate1 = now.withYear(2020); // 修改日期对象年份为2020 LocalDate localDate2 = now.withMonth(1); // 修改日期对象月份为1 LocalDate localDate3 = now.withDayOfMonth(1); // 修改日期对象的日期(一月中的第几天) LocalDate localDate4 = now.withDayOfYear(1); // 修改日期对象的日期(一年中的第几天) ###### 5)比较方法 ###### LocalDate now = LocalDate.now(); LocalDate localDate = LocalDate.of(2023, 1, 1) boolean isBefore = localDate.isBefore(now); // localDate是否在当天之前 boolean isAfter = localDate.isAfter(now); // localDate是否在当天之后 boolean isEqual = localDate.isEqual(now); // localDate是否在当天 boolean isLeapYear = localDate.isLeapYear(); // localDate是否是闰年 ###### 6)LocalDate 与 Date之间的转换 ###### /** * LocalDate转Date * @param localDate * @return */ public static Date toDate(LocalDate localDate) { return Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant()); } /** * Date转LocalDate * @param Date * @return */ public static Date toLocalDate(Date date) { return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); } ###### 7)LocalDate 与 String之间的转换 ###### /** * String转LocalDate * @param dateStr 日期的字符串 * @param pattern 格式示例: yyyy-MM-dd * @return */ public static LocalDate toLocalDate(String dateStr, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return LocalDate.parse(dateStr, formatter); } /** * LocalDate转String * @param localDate localDate对象 * @param pattern 格式示例: yyyy-MM-dd * @return */ public static String LocalDatetoStr(LocalDate localDate, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return localDate.format(formatter); } #### 2.2 LocalTime #### ##### 2.2.1 常用API ##### <table> <thead> <tr> <th>方法</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>static LocalTime now()</td> <td>获取默认时区的当前时间</td> </tr> <tr> <td>static LocalTime now(ZoneId zone)</td> <td>获取指定时区的当前时间</td> </tr> <tr> <td>static LocalTime now(Clock clock)</td> <td>从指定时钟获取当前时间</td> </tr> <tr> <td>of</td> <td>根据指定的时、分、秒获取LocalTime 实例</td> </tr> <tr> <td>getHour</td> <td>获取小时</td> </tr> <tr> <td>getMinute</td> <td>获取分钟</td> </tr> <tr> <td>getSecond</td> <td>获取秒</td> </tr> <tr> <td>getNano</td> <td>获取纳秒</td> </tr> <tr> <td>plusHours</td> <td>增加小时数</td> </tr> <tr> <td>plusMinutes</td> <td>增加分钟数</td> </tr> <tr> <td>plusSeconds</td> <td>增加秒数</td> </tr> <tr> <td>plusNanos</td> <td>增加纳秒数</td> </tr> <tr> <td>minusHours</td> <td>减少小时数</td> </tr> <tr> <td>minusMinutes</td> <td>减少分钟数</td> </tr> <tr> <td>minusSeconds</td> <td>减少秒数</td> </tr> <tr> <td>minusNanos</td> <td>减少纳秒数</td> </tr> <tr> <td>withHour</td> <td>替换小时</td> </tr> <tr> <td>withMinute</td> <td>替换分钟</td> </tr> <tr> <td>withSecond</td> <td>替换秒钟</td> </tr> <tr> <td>withNano</td> <td>替换纳秒</td> </tr> <tr> <td>compareTo</td> <td>时间与另一个时间比较</td> </tr> <tr> <td>isAfter</td> <td>检查时间是否在指定时间之后</td> </tr> <tr> <td>isBefore</td> <td>检查时间是否在指定时间之前</td> </tr> </tbody> </table> ##### 2.2.2 使用示例 ##### ###### 1)创建方法 ###### LocalTime now1 = LocalTime.now(); // 当前时间 LocalTime now2 = LocalTime.now(ZoneId.of("Asia/Shanghai")); // 当前时间 (指定时区) LocalTime now3 = LocalTime.now(Clock.systemDefaultZone()); // 当前时间 (指定时钟) LocalTime localTime = LocalTime.of(9, 9, 9); // 指定时间 09:09:09 ###### 2)获取方法 ###### LocalTime now = LocalTime.now(); int hour = now.getHour(); // 获取小时 int minute = now.getMinute(); // 获取小时 int second = now.getSecond(); // 获取秒 int nano = now.getNano(); // 获取纳秒 ###### 3)运算方法 ###### LocalTime now = LocalTime.now(); LocalTime localTime1 = now.plusHours(1); // 给当前时间加一小时 LocalTime localTime2 = now.plusMinutes(1); // 给当前时间加一分钟 LocalTime localTime3 = now.plusSeconds(1); // 给当前时间加一秒 LocalTime localTime4 = now.plusNanos(1); // 给当前时间加一纳秒 LocalTime localTime1 = now.minusHours(1); // 给当前时间减一小时 LocalTime localTime2 = now.minusMinutes(1); // 给当前时间减一分钟 LocalTime localTime3 = now.minusSeconds(1); // 给当前时间减一秒 LocalTime localTime4 = now.minusNanos(1); // 给当前时间减一纳秒 ###### 4)修改方法 ###### LocalTime now = LocalTime.now(); LocalDate localTime1 = now.withHour(1); // 修改时间对象小时为1 LocalDate localTime2 = now.withMinute(1); // 修改时间对象分钟为1 LocalDate localTime3 = now.withSecond(1); // 修改时间对象秒钟为1 LocalDate localTime4 = now.withNano(1); // 修改时间对象纳秒为1 ###### 5)比较方法 ###### LocalTime now = LocalTime.now(); LocalTime localTime = LocalTime.of(9, 9, 9); int compare = localTime.compareTo(now); // localTime和当前时间比较--0(相等)正数(大)负数(小) boolean after = localTime.isAfter(now); // localTime是否在当前时间之后 boolean before = localTime.isBefore(now); // localTime是否在当前时间之前 ###### 6)LocalTime 与 String之间的转换 ###### /** * String转LocalTime * @param timeStr 日期的字符串 * @param pattern 格式示例: HH:mm:ss * @return */ public static LocalTime toLocalTime(String timeStr, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return LocalTime.parse(timeStr, formatter); } /** * LocalTime转String * @param localTime localTime对象 * @param pattern 格式示例: HH:mm:ss * @return */ public static LocalTime localTimeToStr(LocalTime localTime, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return localTime.format(formatter); } > LocalTime是无法转换为Date的,因为它值包含了时间部分,而没有日期部分 #### 2.3 LocalDateTime #### ##### 2.2.1 常用API ##### <table> <thead> <tr> <th>方法</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>static LocalDateTime now()</td> <td>获取默认时区的当前日期时间</td> </tr> <tr> <td>static LocalDateTime now(Clock clock)</td> <td>从指定时钟获取当前日期时间</td> </tr> <tr> <td>static LocalDateTime now(ZoneId zone)</td> <td>获取指定时区的当前日期时间</td> </tr> <tr> <td>static LocalDateTime of(LocalDate date, LocalTime time)</td> <td>根据日期和时间对象获取LocalDateTime 对象</td> </tr> <tr> <td>static LocalDateTime of(int year, Month month, int dayOfMonth, int hour, int minute, int second)</td> <td>根据指定的年、月、日、时、分、秒获取LocalDateTime 实例</td> </tr> <tr> <td>getYear</td> <td>获取年份</td> </tr> <tr> <td>getMonth</td> <td>使用月份枚举类获取月份</td> </tr> <tr> <td>getDayOfMonth</td> <td>获取日期在该月是第几天</td> </tr> <tr> <td>getDayOfWeek</td> <td>获取日期是星期几</td> </tr> <tr> <td>getDayOfYear</td> <td>获取日期在该年是第几天</td> </tr> <tr> <td>getHour</td> <td>获取小时</td> </tr> <tr> <td>getMinute</td> <td>获取分钟</td> </tr> <tr> <td>getSecond</td> <td>获取秒</td> </tr> <tr> <td>getNano</td> <td>获取纳秒</td> </tr> <tr> <td>plusYears</td> <td>增加年</td> </tr> <tr> <td>plusMonths</td> <td>增加月</td> </tr> <tr> <td>plusWeeks</td> <td>增加周</td> </tr> <tr> <td>plusDays</td> <td>增加天</td> </tr> <tr> <td>plusHours</td> <td>增加小时</td> </tr> <tr> <td>plusMinutes</td> <td>增加分</td> </tr> <tr> <td>plusSeconds</td> <td>增加秒</td> </tr> <tr> <td>plusNanos</td> <td>增加纳秒</td> </tr> <tr> <td>minusYears</td> <td>减少年</td> </tr> <tr> <td>minusMonths</td> <td>减少月</td> </tr> <tr> <td>meminusWeeks</td> <td>减少周</td> </tr> <tr> <td>minusDays</td> <td>减少天</td> </tr> <tr> <td>minusHours</td> <td>减少小时</td> </tr> <tr> <td>minusMinutes</td> <td>减少分</td> </tr> <tr> <td>minusSeconds</td> <td>减少秒</td> </tr> <tr> <td>minusNanos</td> <td>减少纳秒</td> </tr> <tr> <td>withYear</td> <td>替换年份</td> </tr> <tr> <td>withMonth</td> <td>替换月份</td> </tr> <tr> <td>withDayOfMonth</td> <td>替换月份中的第几天(1-31)</td> </tr> <tr> <td>withDayOfYear</td> <td>替换年份中的第几天(1-366)</td> </tr> <tr> <td>withHour</td> <td>替换小时</td> </tr> <tr> <td>withMinute</td> <td>替换分钟</td> </tr> <tr> <td>withSecond</td> <td>替换秒钟</td> </tr> <tr> <td>withNano</td> <td>替换纳秒</td> </tr> <tr> <td>isEqual</td> <td>判断日期时间是否相等</td> </tr> <tr> <td>isBefore</td> <td>检查是否在指定日期时间之前</td> </tr> <tr> <td>isAfter</td> <td>检查是否在指定日期时间之后</td> </tr> </tbody> </table> ##### 2.2.2 使用示例 ##### ###### 1)创建方法 ###### // 1.当前日期 LocalDateTime now1 = LocalDateTime.now(); // 2.当前日期 (指定时区) LocalDateTime now2 = LocalDateTime.now(ZoneId.of("Asia/Shanghai")); // 3.当前日期 (指定时钟) LocalDateTime now3 = LocalDateTime.now(Clock.systemDefaultZone()); // 4.指定日期 2023-01-01 01:01:00 LocalDateTime localDateTime1 = LocalDateTime.of(2023, 1, 1, 1, 1); // 4.使用LocalDate和LocalTime对象创建LocalDateTime对象 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime2 = LocalDateTime.of(localDate, localTime); ###### 2)获取方法 ###### LocalDateTime now = LocalDateTime.now(); int year = now.getYear(); // 获取年份 Month month = now.getMonth(); // 使用月份枚举值 int dayOfMonth = now.getDayOfMonth(); // 获取日期在该月是第几天 DayOfWeek dayOfWeek = now.getDayOfWeek(); // 获取日期是星期几 int dayOfYear = now.getDayOfYear(); // 获取日期在该年是第几天 int hour = now.getHour(); // 获取小时 int minute = now.getMinute(); // 获取分钟 int second = now.getSecond(); // 获取秒钟 int nano = now.getNano(); // 获取纳秒 ###### 3)运算方法 ###### LocalDateTime now = LocalDateTime.now(); LocalDateTime localDateTime1 = now.plusDays(1); // 给当前时间加一天 LocalDateTime localDateTime2 = now.plusDays(1); // 给当前时间加一周 LocalDateTime localDateTime3 = now.plusMonths(1); // 给当前时间加一月 LocalDateTime localDateTime4 = now.plusYears(1); // 给当前时间加一年 LocalDateTime localDateTime5 = now.plusHours(1); // 给当前时间加一小时 LocalDateTime localDateTime6 = now.plusMinutes(1); // 给当前时间加一分钟 LocalDateTime localDateTime7 = now.plusSeconds(1); // 给当前时间加一秒 LocalDateTime localDateTime8 = now.plusNanos(1); // 给当前时间加一纳秒 LocalDateTime localDateTime9 = now.minusDays(1); // 给当前时间减一天 LocalDateTime localDateTime10 = now.minusWeeks(1); // 给当前时间减一周 LocalDateTime localDateTime11 = now.minusMonths(1); // 给当前时间减一月 LocalDateTime localDateTime12 = now.minusYears(1); // 给当前时间减一年 LocalDateTime localDateTime13 = now.minusHours(1); // 给当前时间减一小时 LocalDateTime localDateTime14 = now.minusMinutes(1); // 给当前时间减一分钟 LocalDateTime localDateTime15 = now.minusSeconds(1); // 给当前时间减一秒 LocalDateTime localDateTime16 = now.minusNanos(1); // 给当前时间减一纳秒 ###### 4)修改方法 ###### LocalDateTime now = LocalDateTime.now(); LocalDateTime localDate1 = now.withYear(2020); // 修改日期对象年份为2020 LocalDateTime localDate2 = now.withMonth(1); // 修改日期对象月份为1 LocalDateTime localDate3 = now.withDayOfMonth(1); // 修改日期对象的日期(一月中的第几天) LocalDateTime localDate4 = now.withDayOfYear(1); // 修改日期对象的日期(一年中的第几天) LocalDateTime localTime1 = now.withHour(1); // 修改时间对象小时为1 LocalDateTime localTime2 = now.withMinute(1); // 修改时间对象分钟为1 LocalDateTime localTime3 = now.withSecond(1); // 修改时间对象秒钟为1 LocalDateTime localTime4 = now.withNano(1); // 修改时间对象纳秒为1 ###### 5)比较方法 ###### LocalDateTime now = LocalDateTime.now(); LocalDateTime localDateTime = LocalDateTime.of(2023, 1, 1, 1, 1); boolean isBefore = localDateTime.isBefore(now); // localDateTime是否在当天之前 boolean isAfter = localDateTime.isAfter(now); // localDateTime是否在当天之后 boolean isEqual = localDateTime.isEqual(now); // localDateTime是否在当天 ###### 6)从LocalDateTime获取LocalDate或者LocalTime ###### LocalDateTime localDateTime = LocalDateTime.now(); LocalDate localDate = localDateTime.toLocalDate(); // 从LocalDateTime获取LocalDate对象 LocalTime localTime = localDateTime.toLocalTime(); // 从LocalDateTime获取LocalTime对象 ###### 7)LocalDateTime与 String之间的转换 ###### /** * String转LocalDateTime * @param dateTimeStr 日期的字符串 * @param pattern 格式示例: yyyy-MM-dd HH:mm:ss * @return */ public static LocalDateTime toLocalDateTime(String dateTimeStr, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return LocalDateTime.parse(dateTimeStr, formatter); } /** * LocalDateTime转String * @param localDateTime 日期时间对象 * @param pattern 格式示例: yyyy-MM-dd HH:mm:ss * @return */ public static String LocalDateTimetoStr(LocalDateTime localDateTime, String pattern) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); return localDateTime.format(formatter); } ###### 8)LocalDateTime与 Date之间的转换 ###### /** * Date转LocalDateTime * @param date jdk6 日期对象 * @param zoneId 时区id * @return */ public static LocalDateTime toLocalDateTime(Date date, ZoneId zoneId) { // toInstant():将Date对象转换成为Instant(瞬时)对象 // ofInstant(): 将瞬时对象转换成为LocalDateTime对象 Instant instant = date.toInstant(); if (zoneId == null) { zoneId = ZoneId.systemDefault(); } return LocalDateTime.ofInstant(instant, zoneId); } /** * LocalDateTime转Date * @param localDateTime 日期时间对象 * @return */ public static Date LocalDateTimetoDate(LocalDateTime localDateTime, ZoneId zoneId) { if (zoneId == null) { zoneId = ZoneId.systemDefault(); } ZonedDateTime zonedDateTime = localDateTime.atZone(zoneId); Instant instant = zonedDateTime.toInstant(); return Date.from(instant); }
相关 Java 8时间日期API详解 Java 8引入了新的时间日期API,使得处理时间、日期和时间间隔变得更加简单高效。以下是Java 8时间日期API的详细介绍: 1. **基本类型**: - `Loc 灰太狼/ 2024年09月10日 16:09/ 0 赞/ 25 阅读
相关 Java8日期类LocalDate、LocalTime、LocalDateTime使用详解 一、Java8之前日期类所存在的问题 在`Java8`之前通常会使用`Date`结合`SimpleDateFormat`、`Calender`来处理时间和日期的相关需求。 本是古典 何须时尚/ 2024年03月23日 11:30/ 0 赞/ 45 阅读
相关 Java 8 - 日期和时间类 import java.time.LocalDate; import java.time.LocalDateTime; import java.time 港控/mmm°/ 2023年10月11日 23:28/ 0 赞/ 11 阅读
相关 java8 新特性- 日期类的使用 / java8 新特性 日期 旧的: Date非线程安全的。API设计的比较乱。 java8: 逃离我推掉我的手/ 2022年11月28日 05:56/ 0 赞/ 86 阅读
相关 java8 日期时间类说明 常用的日期时间类,比如:localdate 之类的,网上很多,这里引用以为仁兄的博客! ChronoUnit 类 [日期时间类说明][Link 1] DateTim 比眉伴天荒/ 2022年05月13日 15:42/ 0 赞/ 244 阅读
相关 Java8日期类用法示例 获取当前日期 //当前日期和时间 LocalDateTime nowDateTime=LocalDateTime.now(); //当前日期 骑猪看日落/ 2022年04月11日 04:50/ 0 赞/ 189 阅读
相关 Mybatis使用java8提供的日期类 如果直接在Mybatis中使用LocalDate、LocalDateTime这些java8提供的日期类当做映射的话会报错 No typehandler found f 痛定思痛。/ 2022年03月29日 10:24/ 0 赞/ 199 阅读
相关 Java8-08-java8 时间类日期类 LocalDate、LocalTime、LocalDateTime -------------------- layout: post title: Java8-08-java8 日期类 date: 2019-2-27 15:48: 港控/mmm°/ 2022年02月28日 13:06/ 0 赞/ 299 阅读
相关 java8.0日期工具类 针对java8.0获取当月的第一天、最后一天、当周的第一天和最后一天、或者指定日期的所在周的最后一天活第一天,指定日期所在月份的第一天和最后一天。 package c 柔光的暖阳◎/ 2021年12月18日 18:43/ 0 赞/ 207 阅读
还没有评论,来说两句吧...