Sample Julian Dates:
2009218
2009225
2009243
Run Code Online (Sandbox Code Playgroud)
如何将它们转换为常规日期?
我尝试使用在线转换器转换它们,我得到了 -
2009-1325 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();
Run Code Online (Sandbox Code Playgroud)
使用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();
Run Code Online (Sandbox Code Playgroud)
----编辑----感谢Alex提供最佳答案:
Date myDate = new SimpleDateFormat("yyyyD").parse("2009218")
Run Code Online (Sandbox Code Playgroud)