我是java的新手。我有两个日期,如 Fri Sep 25 00:00:00 IST 2015 和 Fri Oct 23 00:00:00 IST 2015 。我想要得到周差异,所以输出将是: -
Sep 25-Oct 1 2015, Oct 2-8 2015, Oct 9-15 2015, Oct 16-21 2015, Oct 22-23 2015
请帮帮我!我不想使用joda时间
答案 0 :(得分:1)
根据http://www.leveluplunch.com/java/examples/number-of-weeks-between-two-dates/ 在Java 8中:
public void weeks_between_two_dates_in_java_with_java8 () {
LocalDate startDate = LocalDate.of(2005, Month.JANUARY, 1);
LocalDate endDate = LocalDate.of(2006, Month.JANUARY, 1);
long weeksInYear = ChronoUnit.WEEKS.between(startDate, endDate);
assertEquals(52, weeksInYear);
}
Java 8具有相当不错的API for date&时间,你可以看到http://www.joda.org/joda-time/
Joda-Time是Java事实上的标准日期和时间库。从Java SE 8开始,用户被要求迁移到java.time(JSR-310)。
答案 1 :(得分:0)
在这个thread中,你可以看到如何获得日期差异。
因此,根据我告诉你的主题,你可以通过这种方式改变差异:
long diff = d2.getTime() - d1.getTime();
int weeks = diff / (7 * 24 * 60 * 60 * 1000 );
对应于每60小时每60小时7天,每1000秒每60秒。