我正在使用库 DateTime 来存储生日的日期值。
DateTime dateTime01Abegin = new DateTime(2013, 5, 23, 00, 00);
DateTime dateTime01Bbegin = new DateTime(2012, 5, 22, 00, 00);
在它们上运行 .getDayOfYear() 方法,我得到的两个值都是 143。但是一个是 5 月 23 日,一个是 5 月 22 日 - 我不明白为什么他们返回相同的值!
我正在使用库 DateTime 来存储生日的日期值。
DateTime dateTime01Abegin = new DateTime(2013, 5, 23, 00, 00);
DateTime dateTime01Bbegin = new DateTime(2012, 5, 22, 00, 00);
在它们上运行 .getDayOfYear() 方法,我得到的两个值都是 143。但是一个是 5 月 23 日,一个是 5 月 22 日 - 我不明白为什么他们返回相同的值!
2012 年有 366 天(2 月 29 日),而 2013 年有 365 天,这就是两个日期都返回 143 的原因。
一年中的天数在闰年有一天的偏移量,因为在 2 月 28 日之后,闰年比正常年份多了一天。
不是每一年都是 365 天,有些年份是 366 天。
2012 年是闰年,这意味着它多了一天,即 2 月 29 日。对于 2 月 28 日之前的.getDayOfYear()
日期,对于任何年份的类似日期,都将返回相同的值。对于 2 月 28 日之后.getDayOfYear()
的日期,如果这两个日期都在闰年,或者这两个日期都不是闰年,则将返回相同日期的相同值。否则,它们应该相差一个。
闰年。2012 年是闰年,所以有一个 2 月 29 日,将所有“较晚”的日期推到一个位置,所以你的 5 月 22 日实际上是这两年的第 143 天。
2012年是闰年。所以 2013 年 5 月 23 日比 2012 年 5 月 23 日早了 1 天。