Sample Julian Dates:
2009218
2009225
2009243


如何将它们转换为常规日期?

我尝试使用online converter转换它们,然后我得到了-

2009225年12月13日至7359年!!没有意义!

最佳答案

使用Joda-Time库并执行以下操作:

String dateStr = "2009218";
MutableDateTime mdt = new MutableDateTime();
mdt.setYear(Integer.parseInt(dateStr.subString(0,3)));
mdt.setDayOfYear(Integer.parseInt(dateStr.subString(4)));
Date parsedDate  = mdt.toDate();


使用Java API:

String dateStr = "2009218";
Calendar cal  = new GregorianCalendar();
cal.set(Calendar.YEAR,Integer.parseInt(dateStr.subString(0,3)));
cal.set(Calendar.DAY_OF_YEAR,Integer.parseInt(dateStr.subString(4)));
Date parsedDate  = cal.getTime();


----编辑----
感谢Alex提供最佳答案:

Date myDate = new SimpleDateFormat("yyyyD").parse("2009218")

10-07 20:59