【发布时间】:2018-07-05 00:21:03
【问题描述】:
我想得到天数..即 1 月 1 日是第 1 天 1 月 2 日是第 2 天 2 月 1 日是第 32 天,12 月 31 日是第 365 天或第 366 天,具体取决于闰年与否
我使用过各种技术,例如 date1 - date2 等... 但似乎没有什么对我有用的逻辑可能是..我想要的是计算并添加已经过去的月数加上运行月份的天数,即今天是 2012 年 9 月 21 日是天数( 31(一月)+29(二月)+31(三月)+30(四月)+31(五月)+30(六月)+31(七月)+31(八月)+20(九月))=第264天每天过去都会继续加一...谢谢
我的代码
int year = Calendar.getInstance().get(Calendar.YEAR);
GregorianCalendar gc = new GregorianCalendar();
gc.set(GregorianCalendar.DAY_OF_MONTH, 8);
gc.set(GregorianCalendar.MONTH, GregorianCalendar.JUNE);
gc.set(GregorianCalendar.YEAR, year);
int numberofDaysPassed=gc.get(GregorianCalendar.DAY_OF_YEAR);
numberofDaysPassed 给了我 160,不想要的结果
【问题讨论】:
-
对于您使用的代码,正确答案是 2012 年 6 月 8 日是一年中的第 160 天
-
@onkar 你测试了那个代码。 11,12,13,111,112,113 天..???如果没有,请先检查...
-
嘿伙计,我不需要那个 siffux 部分..st,nd,rd.....
-
仅供参考,麻烦的旧日期时间类,如
java.util.Date、java.util.Calendar和java.text.SimpleTextFormat现在是 legacy,被 java.time 类取代。见Tutorial by Oracle。