我在一个项目中工作,我在Date中有两种类型。我想计算这两个日期之间的周数。日期可以是不同的年份。有什么好的解决方案吗?
我试图通过Joda-time来实现这一点,这在其他主题中已得到建议。
我不熟悉该库,但我尝试执行以下操作:
public static int getNumberOfWeeks(Date f, Date l){ Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(f); c2.setTime(l); DateTime start = new DateTime(c1.YEAR, c1.MONTH, c1.DAY_OF_MONTH, 0, 0, 0, 0); DateTime end = new DateTime(c2.YEAR, c2.MONTH, c2.DAY_OF_MONTH, 0, 0, 0, 0); Interval interval = new Interval(start, end); Period p = interval.toPeriod(); return p.getWeeks(); }
但这是完全错误的…有什么建议吗?
乔达时间很简单:
DateTime dateTime1 = new DateTime(date1); DateTime dateTime2 = new DateTime(date2); int weeks = Weeks.weeksBetween(dateTime1, dateTime2).getWeeks();