如何在两个日期之间获得周差异

时间:2015-09-25 12:02:23

标签: java datetime

我是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时间

2 个答案:

答案 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秒。