繁体   English   中英

乔达时间段计算

[英]Joda-Time Period Calculation

根据Joda-Time的经期计算,我在获取某人的年龄时出现了奇怪的行为。 如果某人在1970年1月5日出生,那么到今天他们应该已经46岁零一天了。 但是,如果我使用以下年龄计算:

LocalDate birthdate = new LocalDate(1970,1,5);
LocalDate today = new LocalDate();
Period period = new Period(birthdate, today, PeriodType.yearMonthDay());
int age = period.getYears();

而且乔达时代说时期是P45Y1D 我已经对Wolfram进行了尝试,以验证我没有发疯并且它与我相同。 joda-time在这里做了什么,这给它带来了不同的结果?

我相信这是因为您的计算机时钟设置不正确。 如下对日期进行硬编码会产生预期的结果:

LocalDate birthdate = new LocalDate(1970,1,5);
LocalDate today = new LocalDate(2016, 1, 6);  // Rather than relying on system clock. 
Period period = new Period(birthdate, today, PeriodType.yearMonthDay());
int age = period.getYears();  // 46.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM