Konvertieren Sie ein reguläres Datum in ein julianisches Datum und umgekehrt in Java
Ich habe einen einfachen Code geschrieben, der ein reguläres Datum in ein julianisches Datum umwandelt.
Hier ist der Code für diejenigen, die die gleiche Konvertierung benötigen:
public int convertToJulian(String unformattedDate)
{
/*Unformatted Date: ddmmyyyy*/
int resultJulian = 0;
if(unformattedDate.length() > 0)
{
/*Days of month*/
int[] monthValues = {31,28,31,30,31,30,31,31,30,31,30,31};
String dayS, monthS, yearS;
dayS = unformattedDate.substring(0,2);
monthS = unformattedDate.substring(3, 5);
yearS = unformattedDate.substring(6, 10);
/*Convert to Integer*/
int day = Integer.valueOf(dayS);
int month = Integer.valueOf(monthS);
int year = Integer.valueOf(yearS);
//Leap year check
if(year % 4 == 0)
{
monthValues[1] = 29;
}
//Start building Julian date
String julianDate = "1";
//last two digit of year: 2012 ==> 12
julianDate += yearS.substring(2,4);
int julianDays = 0;
for (int i=0; i < month-1; i++)
{
julianDays += monthValues[i];
}
julianDays += day;
if(String.valueOf(julianDays).length() < 2)
{
julianDate += "00";
}
if(String.valueOf(julianDays).length() < 3)
{
julianDate += "0";
}
julianDate += String.valueOf(julianDays);
resultJulian = Integer.valueOf(julianDate);
}
return resultJulian;
}
Dieser Code konvertiert 01.01.2013 zu 113001
Ich möchte ein julianisches Datum in ein reguläres Datum ohne Zeitangaben konvertieren. Zum Beispiel: Julianisches Datum ist 113029 ==> Normales Datum 29.01.2013
Bitte geben Sie mir Ihre Ideen, wie es geht.
Vielen Dank.