使用DateTime来描述生日

Cod*_*ein 3 java

我正在使用库DateTime来存储生日的日期值.

 DateTime dateTime01Abegin = new DateTime(2013, 5, 23, 00, 00);
 DateTime dateTime01Bbegin = new DateTime(2012, 5, 22, 00, 00);
Run Code Online (Sandbox Code Playgroud)

对它们运行方法.getDayOfYear(),我得到的值都是143.但一个是5月23日,一个是5月22日 - 我无法弄清楚为什么他们会返回相同的价值!

Fri*_*itz 7

2012年有366天(2月29日),2013年有365天,这就是为什么两个日期都返回143.

一年中的天数在闰年中有一天的偏差,因为在2月28日之后,闰年与正常情况相比还有一天.


Edw*_*uck 5

不是每年都是365天,有些年份是366天.

2012年是闰年,这意味着它将在2月29日再增加一天.对于2月28日之前的日期,.getDayOfYear()将返回任何年份的类似日期的相同值.对于2月28日之后的.getDayOfYear()日期,如果这两个日期都处于闰年,或者这两个日期都不是闰年,则会返回相似日期的相同值.否则,他们应该一个人.