一、LocalDate獲取前一天日期
LocalDate是Java 8中的一個日期類,我們可以使用它獲取前一天的日期。
LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
System.out.println("今天日期:" + today);
System.out.println("昨天日期:" + yesterday);
上面的代碼首先獲取當前日期,然後通過minusDays(1)方法獲取前一天的日期。
運行以上代碼,得到的結果如下:
今天日期:2021-05-18
昨天日期:2021-05-17
二、LocalDate獲取下周一
除了獲取前一天的日期,我們還可以使用LocalDate獲取下周一的日期。
LocalDate today = LocalDate.now();
LocalDate nextMonday = today.with(TemporalAdjusters.next(DayOfWeek.MONDAY));
System.out.println("今天日期:" + today);
System.out.println("下周一日期:" + nextMonday);
上面的代碼首先獲取當前日期,然後通過with()方法和TemporalAdjusters.next()方法獲取下周一的日期。
運行以上代碼,得到的結果如下:
今天日期:2021-05-18
下周一日期:2021-05-24
三、LocalDateTime獲取前一天
除了使用LocalDate,我們還可以使用LocalDateTime獲取前一天的日期和時間。
LocalDateTime now = LocalDateTime.now();
LocalDateTime yesterday = now.minusDays(1);
System.out.println("當前日期時間:" + now);
System.out.println("昨天日期時間:" + yesterday);
上面的代碼首先獲取當前日期和時間,然後通過minusDays(1)方法獲取前一天的日期和時間。
運行以上代碼,得到的結果如下:
當前日期時間:2021-05-18T15:32:23.675703800
昨天日期時間:2021-05-17T15:32:23.675703800
四、LocalDate獲取月份
我們可以使用LocalDate獲取當前日期所在的月份。
LocalDate today = LocalDate.now();
int month = today.getMonthValue();
System.out.println("當前月份:" + month);
上面的代碼首先獲取當前日期,然後使用getMonthValue()方法獲取當前日期所在的月份。
運行以上代碼,得到的結果如下:
當前月份:5
五、LocalDate獲取8位時間
我們可以使用LocalDate獲取8位時間,即年月日,格式為yyyyMMdd。
LocalDate today = LocalDate.now();
String dateStr = today.format(DateTimeFormatter.BASIC_ISO_DATE);
System.out.println("當前8位時間:" + dateStr);
上面的代碼首先獲取當前日期,然後使用format()方法和DateTimeFormatter.BASIC_ISO_DATE獲取當前日期的8位時間。
運行以上代碼,得到的結果如下:
當前8位時間:20210518
六、LocalDate獲取年月日
除了獲取8位時間,我們還可以使用LocalDate獲取年月日。
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println("當前日期:" + year + "-" + month + "-" + day);
上面的代碼首先獲取當前日期,然後分別使用getYear()、getMonthValue()和getDayOfMonth()方法獲取年、月和日。
運行以上代碼,得到的結果如下:
當前日期:2021-5-18
七、LocalDate獲取當月最後一天
我們可以使用LocalDate獲取當月的最後一天。
LocalDate today = LocalDate.now();
int lastDay = today.lengthOfMonth();
LocalDate endOfMonth = today.withDayOfMonth(lastDay);
System.out.println("當前日期:" + today);
System.out.println("當月最後一天:" + endOfMonth);
上面的代碼首先獲取當前日期,然後使用lengthOfMonth()方法獲取當前月份的天數,最後通過withDayOfMonth()方法獲取當月的最後一天。
運行以上代碼,得到的結果如下:
當前日期:2021-05-18
當月最後一天:2021-05-31
八、LocalDate獲取星期幾
我們可以使用LocalDate獲取當前日期是星期幾。
LocalDate today = LocalDate.now();
DayOfWeek dayOfWeek = today.getDayOfWeek();
System.out.println("當前日期:" + today);
System.out.println("星期幾:" + dayOfWeek);
上面的代碼首先獲取當前日期,然後使用getDayOfWeek()方法獲取當前日期是星期幾。
運行以上代碼,得到的結果如下:
當前日期:2021-05-18
星期幾:TUESDAY
九、LocalDateTime減一天
除了獲取前一天的日期和時間,我們還可以使用LocalDateTime減一天。
LocalDateTime now = LocalDateTime.now();
LocalDateTime yesterday = now.minusDays(1);
System.out.println("當前日期時間:" + now);
System.out.println("前一天日期時間:" + yesterday);
上面的代碼首先獲取當前日期和時間,然後通過minusDays(1)方法獲取前一天的日期和時間。
運行以上代碼,得到的結果如下:
當前日期時間:2021-05-18T15:32:23.675703800
前一天日期時間:2021-05-17T15:32:23.675703800
十、LocalDate獲取毫秒數
最後,我們可以使用LocalDate獲取當前日期的毫秒數。
LocalDate today = LocalDate.now();
Instant instant = today.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
long millis = instant.toEpochMilli();
System.out.println("當前日期的毫秒數:" + millis);
上面的代碼首先獲取當前日期,然後使用atStartOfDay()方法將其轉換為LocalDateTime,再使用atZone()方法將其轉換為帶時區的ZonedDateTime,最後使用toInstant()方法將其轉換為Instant格式的時間,並使用toEpochMilli()方法獲取毫秒數。
運行以上代碼,得到的結果如下:
當前日期的毫秒數:1621324800000
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196237.html