如何创建完全跨越整个月的2个java(最小和最大日期)



在Java上,我做

Date minDate = new Date(year,month,1);
Date maxDate = new Date(year,month,31); 

以筛选从第1天到第31天的订单。但对于一些月(有30天(和更少的2月,这最终会在下个月的第1、2、甚至3天找到订单。

如何创建一个完全跨越整个月的minDatemaxDate

这些数据值由mongodb在另一端读取,但如果可能的话,我希望在java端读取。

java.util.Date已被弃用,并且理由充分。在我的本地Scala REPL:上

scala> import java.util.Date
import java.util.Date
scala> new Date(120, 9, 1, 0, 0)
^
warning: constructor Date in class Date is deprecated: see corresponding Javadoc 
for more information.
res3: java.util.Date = Thu Oct 01 00:00:00 EDT 2020
scala> new Date(120, 9, 31, 23, 59)
^
warning: constructor Date in class Date is deprecated: see corresponding Javadoc 
for more information.
res4: java.util.Date = Sat Oct 31 23:59:00 EDT 2020

如果你有JShell,你应该会看到类似的东西。

好吧,并不是整个Date类都被弃用,而是几乎所有的构造函数以及一些getter和setter。也许java.time.LocalDate会对你更好。

scala> import java.time.LocalDate
import java.time.LocalDate
scala> LocalDate.of(2020, 10, 1)
res5: java.time.LocalDate = 2020-10-01
scala> LocalDate.of(2020, 10, 31)
res6: java.time.LocalDate = 2020-10-31

看,没有必要把1900年减去。轻松、轻快、美丽。

最新更新