352 votes

Comment obtenir la date et l'heure actuelles

Comment obtenir la date et l'heure actuelles en Java ?

Je cherche quelque chose d'équivalent à DateTime.Now à partir de C#.

0 votes

Cette question est plus ancienne que Cette question anciennement marqué comme duplicata. J'ai donc inversé la désignation, en rouvrant cette question et en marquant la plus récente comme étant le double.

421voto

delfuego Points 9288

Il suffit de construire un nouveau Date sans aucun argument ; la date et l'heure actuelles seront attribuées au nouvel objet.

import java.util.Date;

Date d = new Date();

Selon les termes de les Javadocs pour [le constructeur à zéro argument](http://java.sun.com/javase/6/docs/api/java/util/Date.html#Date()) :

Alloue un objet Date et l'initialise de manière à ce qu'il représente l'heure à laquelle il a été alloué mesurée à la milliseconde près.

Assurez-vous que vous utilisez java.util.Date et non java.sql.Date -- ce dernier n'a pas de constructeur zéro-arg, et a une sémantique quelque peu différente qui fait l'objet d'une conversation tout à fait différente :)

13 votes

Notez également que GregorianCalendar et de nombreux objets similaires fonctionnent de la même manière. Ainsi, quel que soit le type d'objet date/calendrier avec lequel vous travaillez, le constructeur à zéro argument initialise généralement l'objet à la date/heure actuelle.

0 votes

De Date doc : Depuis le JDK 1.1, la classe Calendar doit être utilisée pour convertir les dates et les champs de temps et la classe DateFormat doit être utilisée pour formater et analyser les chaînes de dates.

11 votes

Veuillez prendre en compte les nouvelles API Java8 - LocalDateTime.now() et ZonedDateTime.now()

58voto

cdmckay Points 11234

La Java Date y Calendrier sont considérées par beaucoup comme mal conçues. Vous devriez jeter un coup d'œil à Joda Time une bibliothèque couramment utilisée à la place des bibliothèques de dates intégrées à Java.

L'équivalent de DateTime.Now à Joda Time est :

DateTime dt = new DateTime();

Mise à jour

Comme indiqué dans les commentaires, les dernières versions de Joda Time ont une fonction DateTime.now() donc :

DateTime dt = DateTime.now();

4 votes

La version actuelle (2.1) de Joda semble avoir une méthode statique DateTime.now() (accepte optionnellement DateTimeZone ou Chronology). joda-time.sourceforge.net/apidocs/org/joda/time/

1 votes

Cette réponse a été publiée en 2010. Java 8 a absorbé un grand nombre des meilleures fonctionnalités de Joda Time. Voir l'article documentation officielle et de nombreux autres articles en ligne pour plus d'informations.

16voto

ralph Points 329

Je préfère utiliser l'objet Calendrier.

Calendar now = GregorianCalendar.getInstance()

Je trouve qu'il est beaucoup plus facile à travailler. Vous pouvez également obtenir un objet Date à partir du calendrier.

http://java.sun.com/javase/6/docs/api/java/util/GregorianCalendar.html

4 votes

Ou bien il peut s'agir simplement de Calendar.getInstance()

12voto

Chandra Patni Points 9432
import java.util.Date;   
Date now = new Date();

Il convient de noter que le Date est mutable et si vous voulez faire quelque chose de sophistiqué, utilisez jodatime .

10voto

user243773 Points 71

java.lang.System.currentTimeMillis(); renvoie la date depuis l'époque

0 votes

Bon pour l'enregistrement, mais nécessite une analyse et une conversion pour l'affichage à l'utilisateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X