Comment convertir une date julian à 7 chiffres dans un format tel que MM/jj/aaaa?Conversion d'une date julienne en calendrier régulier Date
Répondre
trouvé un site utile: http://www.rgagnon.com/javadetails/java-0506.html
Cela devrait faire l'affaire:
public static int[] fromJulian(double injulian) {
int jalpha,ja,jb,jc,jd,je,year,month,day;
double julian = julian + HALFSECOND/86400.0;
ja = (int) julian;
if (ja>= JGREG) {
jalpha = (int) (((ja - 1867216) - 0.25)/36524.25);
ja = ja + 1 + jalpha - jalpha/4;
}
jb = ja + 1524;
jc = (int) (6680.0 + ((jb - 2439870) - 122.1)/365.25);
jd = 365 * jc + jc/4;
je = (int) ((jb - jd)/30.6001);
day = jb - jd - (int) (30.6001 * je);
month = je - 1;
if (month > 12) month = month - 12;
year = jc - 4715;
if (month > 2) year--;
if (year <= 0) year--;
return new int[] {year, month, day};
}
Voulez-vous dire vraiment une date Julian, comme les astronomes utilisent? Les dates ordinales, qui sont spécifiées comme une année (quatre chiffres) et le jour dans cette année (trois chiffres), sont parfois incorrectement appelées dates juliennes.
static String formatOrdinal(int year, int day) {
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.DAY_OF_YEAR, day);
Date date = cal.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
return formatter.format(date);
}
Cela vous donnera la date à 00:00 heure locale; vous souhaiterez peut-être définir le fuseau horaire sur les calendriers sur GMT à la place, en fonction de l'application.
Je vois qu'il y a suffisamment de réponses déjà fournies. Mais toute question liée au calendrier est seulement une demi-réponse sans mentionner joda-time ;-). Here est combien il est simple avec cette bibliothèque
façon simple// setup date object for the Battle of Hastings in 1066
Chronology chrono = JulianChronology.getInstance();
DateTime dt = new DateTime(1066, 10, 14, 10, 0, 0, 0, chrono);
est ici et ce sera de retour à 100% des informations précises.
String getDobInfo(double doubleString){
SweDate sweDate = new SweDate(doubleString);
int year = sweDate.getYear();
int month = sweDate.getMonth();
int day = sweDate.getDay();
// getting hour,minute and sec from julian date
int hour = (int) Math.floor(sweDate.getHour());
int min = (int) Math
.round((sweDate.getHour() - Math.floor(hour)) * 60.0);
int sec = (int) (((sweDate.getHour() - Math.floor(hour)) * 60.0 - Math
.floor(min)) * 60.0);
return "DOB:(DD:MM:YY) "+day+":"+month+":"+year+" TOB:(HH:MM:SS) "+hour+":"+min+":"+sec;
}
téléchargez le Swiss Ephemeris library et profitez du codage !!!
A partir de Java 8, cela devient une seule ligne pour obtenir le LocalDate
:
LocalDate.MIN.with(JulianFields.JULIAN_DAY, julianDay)
.format(DateTimeFormatter.ofPattern("MM/dd/yyyy"));
Où julianDay
est votre numéro à 7 chiffres.
- 1. Java - Conversion d'un datetime en heure de calendrier grégorien (date)
- 2. DateTime Conversion en date
- 3. Conversion d'objet Date en TimeWithZone
- 4. Date de conversion en Java
- 5. convertir une date de calendrier en chaîne?
- 6. Ruby Gem Calendrier Date Sélection
- 7. Javascript: date conversion
- 8. Julian Date Conversion
- 9. PHP date de conversion
- 10. Paramètre date de conversion
- 11. Jython date de conversion
- 12. VB conversion date
- 13. date de conversion/heure
- 14. Date Conversion d'heure
- 15. Date Conversion d'heure
- 16. Date Problème de conversion
- 17. date format conversion
- 18. conversion heure date sql
- 19. Conversion d'une date en heure en Java
- 20. Date et heure Date d'entrée dans le calendrier Outlook automatiquement?
- 21. Conversion d'une chaîne en date dans Access
- 22. Conversion de format de date en SQL
- 23. date de conversion en SQL Server 2005
- 24. Conversion de données de texte en date
- 25. Date et heure de conversion en Ruby
- 26. Date de conversion JDBC en UTC
- 27. Excel date de conversion chaîne
- 28. php date de conversion datetime
- 29. Conversion d'une chaîne de date
- 30. Conversion de date SQL (serveur)
ja = (int) injulien; est une erreur, changez-le en ja = (int) julian; – RealHowTo