Jour julien de l'année en Java
J'ai vu la "solution" à http://www.rgagnon.com/javadetails/java-0506.htmlmais il ne fonctionne pas correctement. E. g. hier (8 juin) devraient avoir été 159, mais il a dit qu'il était de 245.
Donc, quelqu'un a une solution en Java pour obtenir la date du jour est composé de trois chiffres à jour Julien (pas de date Julienne - j'ai besoin de la journée de cette année)?
Merci! Marque
source d'informationauteur Mark
Vous devez vous connecter pour publier un commentaire.
Si tout ce que vous voulez, c'est le jour de l'année, pourquoi ne vous utilisez simplement GregorianCalendars
DAY_OF_YEAR
champ?}
Alternativement, vous pouvez calculer la différence entre aujourd'hui Julian date et le 1er janvier de cette année. Mais assurez-vous d'ajouter 1 au résultat, depuis le 1er janvier n'est pas le zéro jour de l'année:
Noter que cela ne prend pas en compte le "débute à midi" deal revendiquée par bizarre ce site, vous référencées. Qui pourrait être résolu en vérification de l'heure de cours.
si nous avons un double julian date comme chordiant décision du gestionnaire de
http://java.ittoolbox.com/groups/technical-functional/java-l/java-function-to-convert-julian-date-to-calendar-date-1947446
Ce qui suit est un travail, mais la deuxième n'est pas pris en charge
Comment puis-je convertir entre Java Date et le numéro de jour Julien?
public static String julianDate(String julianDateStr) {
J'ai lu tous les posts et quelque chose de pas très clair je pense.
user912567 mentionné Jean Meeus, et il a tout à fait le droit
La définition la plus précise que j'ai trouvé est donné par Jean Meeus dans son "Astronomical algorithms" livre (un must, vraiment...).
Date julienne est une dateexprimé comme d'habitude, avec une année, un mois et un jour.
Jour julien est un nombre (un nombre réel), à compter de l'année -4712 et de l'est "...un continu nombre de jours..." (et d'une fraction de la journée).
Un utile échelle de temps utilisée pour la précision des calculs astronomiques.
Jean Meeus : "Le Jour Julien n'a rien à voir avec le calendrier Julien" ("Astronomical algorithms", 2ème Édition, p.59)
tl;dr
“Jour julien” terminologie
Le terme “jour Julien” est parfois utilisé de façon imprécise pour désigner la ordinal jour de l'année, ou Ordinale datece qui signifie un nombre de 1 à 365 ou 366 (les années bissextiles). Le 1er janvier est
1
2 janvier est2
le 31 décembre est365
(ou366
dans les années bissextiles).Ce lâche (mauvaise) utilisation de
Julian
vient probablement de la utilisation en astronomie et d'autres champs de dates de suivi en continu nombre de jours depuis midi, Temps Universel, le 1er janvier 4713 avant notre ère (sur la Calendrier julien). De nos jours la date Julienne est de près de deux et demi millions de dollars,2,457,576
aujourd'hui.java.temps
La java.temps cadre intégré dans Java 8 et, plus tard, fournit un facile d'installation pour obtenir la journée de l'année.
La
LocalDate
classe représente une date uniquement de la valeur, sans le temps de la journée et sans fuseau horaire. Vous pouvez interroger pour le jour de l'année.De vidage de la console. Les résultats montrent que le 8 juin 2010, est en effet la journée # 159.
Un fuseau horaire est crucial dans la détermination d'une date. Pour un moment donné, la date varie à travers le monde par zone. Par exemple, quelques minutes après minuit à Paris, la France est un nouveau jour, alors encore “hier” à Montréal, Québec.
Aller dans l'autre direction, à partir d'un nombre à une date.
Sur java.temps
La java.temps cadre est intégré dans Java 8 et les versions ultérieures. Ces classes permettent d'éviter la pénible vieux héritage date du temps des classes comme
java.util.Date
Agenda
&SimpleDateFormat
.La Joda-Time projet, maintenant dans le mode de maintenanceconseille la migration vers le java.le temps classes.
Pour en savoir plus, consultez les Oracle Tutoriel. Et de recherche de Débordement de Pile pour de nombreux exemples et des explications. La spécification est JSR 310.
Vous pouvez échanger java.temps objets directement avec votre base de données. Utiliser un Pilote JDBC compatible avec JDBC 4.2 ou plus tard. Pas besoin de chaînes, pas besoin de
java.sql.*
classes.Où obtenir le java.les classes de temps?
La ThreeTen-Extra projet s'étend java.temps avec d'autres classes. Ce projet est un terrain d'essai pour de possibles futurs ajouts à java.temps. Vous pouvez trouver quelques classes utiles ici comme
Intervalle
YearWeek
YearQuarter
et plus.