Le langage Java garder une trace de tout en termes de nombre de millisecondes qui séparent un moment à partir de minuit, le 1er Janvier 1970 UTC et stocke cette valeur comme un long (64 bits) entier . Cela lui permet de supporter toutes les fois possibles qui relèvent de 290.000.000 années de 1970 dans les deux sens . Ce temps est soit converti en un format plus utile par le programmeur ou par une des classes de date et d'heure standard de Java. Chronométrage d'un bloc de code
L' utilisation la plus simple de temps en Java ce qui est requis en temps, un bloc de code. Il suffit d'appeler System.currentTimeMillis () et le stocker dans un entier long avant que le bloc de code que vous souhaitez fois . Par exemple:
longue startTime = System.currentTimeMillis ();
Et puis, après votre bloc de finitions de code ( ou pendant si vous le souhaitez pour représenter le temps écoulé) , appel System.currentTimeMillis () et soustraire le startTime de lui. Par exemple:
longue elapsedTime = System.currentTimeMillis () - startTime ;
Si vous souhaitez une représentation plus précise du temps de millisecondes , vous pouvez également remplace currentTimeMillis () avec nanoTime ().
Utilisation de dates et calendriers
La fonction nanoTime currentTimeMillis et nous expose à l'essentiel de traiter avec le temps dans un programme, mais pas à traiter avec le temps en termes d'intérêt commun unités comme des heures , des jours et des années . Heureusement , Java fournit une classe de GregorianCalendar pour l'aider à travailler avec des unités plus intuitive de temps. A GregorianCalendar peut être construit sans arguments pour représenter l'heure automatiquement . Par exemple:
GregorianCalendar currentTime = new GregorianCalendar ();
ou il peut être construit en utilisant une des deux méthodes suivantes pour une durée déterminée , soit dans le passé ou le futur :
< p> réunion GregorianCalendar = new GregorianCalendar (2009 , 12, 14 , 8, 00); //08h00 le 14 Décembre , meetingEnds de 2009GregorianCalendar = new GregorianCalendar (2009 , 12, 14 , 8 , 46, 23); //08:46:23 le 14 Décembre 2009
pour utiliser nos objets GregorianCalendar , nous aurons besoin de convertir la valeur d' une classe de date. Par exemple:
Date de meetingDate = meeting.getTime (); Date de meetingEndsDate = meetingEnds.getTime ();
le calcul du délai
calcul de temps écoulé entre deux objets de type date est alors une question simple
longue elapsedTime = meetingEndsDate.getTime () - de meetingDate.getTime (); .
Cela nous donnera le temps écoulé en millisecondes , qui peut être converti en unités plus intuitives avec quelques calculs simples .
aide DateFormat
Il est un autre outil important dans Java pour manipuler le temps, et qui est l' classe DateFormat , qui offre une variété de méthodes pour outputing objets Date à cordes et pour lire les chaînes de nouveau dans les dates . . Par exemple:
cordes meetingString = DateFormat.getDateInstance ( DateFormat.MEDIUM ) Format ( meetingDate ) ;
L'argument donné à getDateInstance () représente le style utilisé pour sortir le jour. Certains formats valides sont FULL, long, moyen , et court. SHORT permet d'imprimer de l'année, mois et jour entièrement en chiffres , alors que FULL préciser des détails tels que le fuseau horaire afin de donner autant d'informations sur la date possible.