首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

period.getDays()在android中每次返回0

在Android开发中,如果你使用的是java.time.Period类来计算两个日期之间的天数,并且发现Period.getDays()每次都返回0,这可能是因为Period类的设计。Period类的getDays()方法返回的是两个日期之间的天数部分,而不是总天数。

例子

假设你有两个日期:2023-01-012023-01-10。如果你使用Period类来计算它们之间的差异:

代码语言:javascript
复制
LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2023, 1, 10);
Period period = Period.between(startDate, endDate);

int days = period.getDays(); // 这将返回0,因为没有完整的月份或年份差异

在这个例子中,period.getDays()返回的是两个日期之间的天数部分,而不是总天数。因为这两个日期之间没有完整的月份或年份差异,所以getDays()返回0。

解决方法

如果你想要计算两个日期之间的总天数,可以使用ChronoUnit.DAYS.between()方法:

代码语言:javascript
复制
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

LocalDate startDate = LocalDate.of(2023, 1, 1);
LocalDate endDate = LocalDate.of(2023, 1, 10);

long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
System.out.println("Days between: " + daysBetween); // 这将返回9

完整示例

以下是一个完整的示例,展示了如何使用ChronoUnit.DAYS.between()来计算两个日期之间的总天数:

代码语言:javascript
复制
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class Main {
    public static void main(String[] args) {
        LocalDate startDate = LocalDate.of(2023, 1, 1);
        LocalDate endDate = LocalDate.of(2023, 1, 10);

        long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
        System.out.println("Days between: " + daysBetween); // 这将返回9
    }
}

通过使用ChronoUnit.DAYS.between()方法,你可以准确地计算两个日期之间的总天数,而不是仅仅获取天数部分。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券