相关疑难解决方法(0)

2个java.util.Date之间的月数,不包括日期

我想要2个月之间的java.util.Date月数,而不计算月份的日期.所以我只想比较年份和月份.

例:

 monthsBetween(new Date(2012,01,28), new Date(2012,02,01)) ---> 1

 monthsBetween(new Date(2012,02,27), new Date(2012,02,28)) ---> 0

 monthsBetween(new Date(2012,03,28), new Date(2012,07,01)) ---> 4
Run Code Online (Sandbox Code Playgroud)

我试过这个(返回0,预期1),使用Joda-time:

private static int monthsBetween(final Date fromDate, final Date toDate) {
    DateTime date1 = new DateTime().withDate(2012, 1, 20);
    DateTime date2 = new DateTime().withDate(2012, 2, 13);
    PeriodType monthDay = PeriodType.yearDayTime().withDaysRemoved();
    Period difference = new Period(date1, date2, monthDay);
    int months = difference.getMonths();

    return months;
 }
Run Code Online (Sandbox Code Playgroud)

而且这个(相同的结果),使用Joda-time:

private static int monthsBetween(final Date fromDate, final Date toDate) {
        return Months.monthsBetween(new DateTime(fromDate), new …
Run Code Online (Sandbox Code Playgroud)

java date jodatime

5
推荐指数
2
解决办法
3万
查看次数

标签 统计

date ×1

java ×1

jodatime ×1