问题描述
|
用Java表示时间段的最佳方法是什么?我可以使用2个Date对象,还是有更好的方法?
即整个4月,7月的第3周,1月至3月,依此类推。
解决方法
这是Java和Joda的常用链接:
http://joda-time.sourceforge.net/api-release/org/joda/time/Period.html
编辑:此特定问题的相关链接是http://joda-time.sourceforge.net/api-release/org/joda/time/Interval.html
, 我看到答案很旧。
从
Java 8
开始,我们可以使用部分基于Joda Time
的本地Java.Time
,这使得对日期的操作非常容易。
看看Period
,Duration
和LocalDate
https://docs.oracle.com/javase/tutorial/datetime/iso/period.html
https://dzone.com/articles/deeper-look-java-8-date-and
, Joda Time解决了您所有的日期/时间麻烦。它具有数据范围类型。
, 如果您出于某种原因想要避免使用Joda,则可以编写一个包装一对日期(或基本Long值)的类,但是您需要编写比较范围或确定是否需要日期在范围内,等等。
, 如果需要使用2个不同的日期,请使用2个不同的日期并使用SimpleDateFormat。它非常简单易用。
SimpleDateFormat format = new SimpleDateFormat(\"yyyy-MM-dd\");
format.parse(new Date());
, 如果我明白你想要什么。您可以简单地使用两个时间戳。替代一个时间戳和周期时间。