如果我有一個日期2022-10-26T08:05:00.123Z,我怎樣才能得到它的天花板和地板。
那么我怎樣才能在java中得到低于預期的輸出呢?
floor: 2022-10-26T00:00:00.000Z
ceil: 2022-10-27T00:00:00.000Z
如果給定的日期位于 floor 和 ceil 之間,我想基本上添加一個比較,以便它將回傳其中的所有日期。
uj5u.com熱心網友回復:
要獲得發言權,您可以使用 LocalDate 的 atStartOfDay() 方法:
LocalDate.now().atStartOfDay()
要獲得上限,您可以添加 1 天,然后再次使用 atStartOfDay() 方法。
LocalDate.now().plusDays(1).atStartOfDay()
示例方法可能如下所示:
public boolean isDateInRange(LocalDateTime date, LocalDate sampleRange) {
return date.isAfter(sampleRange.atStartOfDay()) && date.isBefore(sampleRange.plusDays(1).atStartOfDay());
}
檢查日期是否與另一個日期相同的更好方法是使用如下方法:
public boolean isDateSameDayAndYear(LocalDateTime dateTime, LocalDate date) {
return dateTime.getDayOfYear() == date.getDayOfYear() && dateTime.getYear() == date.getYear();
}
uj5u.com熱心網友回復:
嘗試這個:
LocalDate floor = LocalDate.now();
LocalDate ceil = floor.plusDays(1);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSS");
System.out.println("floor: " floor.atStartOfDay().format(formatter));
System.out.println("ceil: " ceil.atStartOfDay().format(formatter));
如果您的用例只是用于檢查日期是否位于 ceil 和 floor 之間,則根本不需要格式化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527058.html
標籤:爪哇日期地面细胞
