在Java上,我做
Date minDate = new Date(year,month,1);
Date maxDate = new Date(year,month,31);
以筛选从第1天到第31天的订单。但对于一些月(有30天(和更少的2月,这最终会在下个月的第1、2、甚至3天找到订单。
如何创建一个完全跨越整个月的minDate
和maxDate
?
这些数据值由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年减去。轻松、轻快、美丽。