Comment obtenir la date/heure actuelle en Java
Quelle est la meilleure façon d'obtenir la date/heure actuelle en Java?
24 réponses
cela dépend de quelle forme de date / heure vous voulez:
-
si vous voulez la date / heure comme une seule valeur numérique, alors
System.currentTimeMillis()
vous donne que, exprimé en nombre de millisecondes après L'époque UNIX (comme un Javalong
). Cette valeur est un delta à partir d'un point UTC et elle est indépendante du fuseau horaire local ... en supposant que l'horloge du système a été réglée correctement. -
si vous voulez la date / heure sous une forme qui vous permet d'accéder aux composants (Année, Mois, etc) numériquement, vous pouvez utiliser l'un des suivants:
-
new Date()
vous donne un objetDate
initialisé avec la date / heure courante. Le problème est que les méthodes de L'APIDate
sont pour la plupart imparfaites ... et obsolètes. -
Calendar.getInstance()
vous donne unCalendar
objet initialisé avec la date / heure courante, en utilisant la valeur par défautLocale
etTimeZone
. D'autres surcharges vous permettent d'utiliser un spécifiqueLocale
et/ouTimeZone
. Le calendrier fonctionne ... mais les API sont encore encombrantes. -
new org.joda.time.DateTime()
vous donne un Joda-time objet initialisé avec la date / heure courante, en utilisant le fuseau horaire par défaut et la chronologie. Il y a beaucoup d'autres Joda alternatives ... trop décrire ici. (Toutefois, certaines personnes signalent que Joda time a des problèmes de rendement.; par exemple, Jodatime de LocalDateTime est lente lors de la première fois .) -
dans Java 8, en appelant
LocalDateTime.now()
etZonedDateTime.now()
vous donnera des représentations 1 pour la date / heure actuelle.
-
avant Java 8, la plupart des gens qui est au courant de ces choses a recommandé Joda-time comme ayant (de loin) les meilleurs API Java pour faire des choses impliquant des calculs de point de temps et de durée. Avec Java 8, ce n'est plus vrai. Cependant, si vous utilisez déjà Joda time dans votre base de données, il n'y a pas de raison forte de migrer 2 .
1 - notez que LocalDateTime n'inclut pas de fuseau horaire. Comme le dit le javadoc: "Il ne peut pas représenter un instant sur la ligne sans informations supplémentaires, telles que le décalage de durée ou d'horaire."
2-votre code ne se brisera pas si vous ne le faites pas, et vous n'obtiendrez pas d'avertissements de dépréciation. Bien sûr, la base de données Joda cessera probablement de recevoir des mises à jour, mais il est peu probable d'en avoir besoin. Aucune mise à jour signifie stabilité et c'est une bonne chose.
si vous avez juste besoin de sortir un horodatage dans le format YYYY.MMM.DD-HH.MMM.SS (cas très fréquent) alors voici la façon de le faire:
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
si vous voulez la date courante comme chaîne de caractères, essayez ceci:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date));
ou
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime()));
http://www.mkyong.com/java/java-how-to-get-current-date-time-date-and-calender/
Dans Java 8 c'est:
LocalDateTime.now()
et dans le cas où vous avez besoin d'informations sur le fuseau horaire:
ZonedDateTime.now()
et dans le cas où vous voulez imprimer chaîne formatée Fantaisie:
System.out.println(ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME))
il suffit de créer un objet Date...
Date date = new Date();
// 2015/09/27 15:07:53
System.out.println( new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime()) );
// 15:07:53
System.out.println( new SimpleDateFormat("HH:mm:ss").format(Calendar.getInstance().getTime()) );
// 09/28/2015
System.out.println(new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()));
// 20150928_161823
System.out.println( new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime()) );
// Mon Sep 28 16:24:28 CEST 2015
System.out.println( Calendar.getInstance().getTime() );
// Mon Sep 28 16:24:51 CEST 2015
System.out.println( new Date(System.currentTimeMillis()) );
// Mon Sep 28
System.out.println( new Date().toString().substring(0, 10) );
// 2015-09-28
System.out.println( new java.sql.Date(System.currentTimeMillis()) );
// 14:32:26
Date d = new Date();
System.out.println( (d.getTime() / 1000 / 60 / 60) % 24 + ":" + (d.getTime() / 1000 / 60) % 60 + ":" + (d.getTime() / 1000) % 60 );
// 2015-09-28 17:12:35.584
System.out.println( new Timestamp(System.currentTimeMillis()) );
// Java 8
// 2015-09-28T16:16:23.308+02:00[Europe/Belgrade]
System.out.println( ZonedDateTime.now() );
// Mon, 28 Sep 2015 16:16:23 +0200
System.out.println( ZonedDateTime.now().format(DateTimeFormatter.RFC_1123_DATE_TIME) );
// 2015-09-28
System.out.println( LocalDate.now(ZoneId.of("Europe/Paris")) ); // rest zones id in ZoneId class
// 16
System.out.println( LocalTime.now().getHour() );
// 2015-09-28T16:16:23.315
System.out.println( LocalDateTime.now() );
tl; dr
Instant.now() // Capture the current moment in UTC, with a resolution of nanoseconds.
... ou ...
ZonedDateTime.now( ZoneId.of( "America/Montreal" ) ) // Capture the current moment as seen in the wall-clock time used by the people of a particular region (a time zone).
de java.time
quelques-unes des réponses mentionnent que java.les classes de temps sont le remplacement moderne pour les anciennes classes de date-heure gênantes empaquetées avec les versions les plus anciennes de Java. Voici un peu plus d'informations.
fuseau horaire
les autres réponses n'expliquent pas comment le fuseau horaire est crucial pour déterminer la date et l'heure actuelles. Pour tout moment donné, les dates et l'heure varie autour du globe par zone. Par exemple, quelques minutes après minuit est un nouveau jour dans Paris France tout en étant "hier" dans Montréal Québec .
Instant
une grande partie de votre logique d'entreprise et de stockage/échange de données doit être effectuée en UTC , comme une meilleure pratique. Pour obtenir le moment actuel dans UTC avec une résolution dans nanosecondes , utilisez Instant
classe.
Instant instant = Instant.now();
ZonedDateTime
vous pouvez ajuster ce Instant
dans d'autres fuseaux horaires. Appliquer une ZoneId
objet pour obtenir un ZonedDateTime
.
ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = instant.atZone( z );
nous pouvons sauter le Instant
et obtenir le courant ZonedDateTime
directement.
ZonedDateTime zdt = ZonedDateTime.now( z );
passe toujours cet argument optionnel de fuseau horaire. Si elle est omise, le fuseau horaire par défaut de votre JVM est appliqué. La valeur par défaut peut changer à n'importe quel" moment , même pendant . Ne pas soumettre votre application à une externalité hors de votre contrôle. Toujours spécifier le fuseau horaire désiré/attendu.
ZonedDateTime do_Not_Do_This = ZonedDateTime.now(); // BAD - Never rely implicitly on the current default time zone.
vous pouvez ensuite extraire un Instant
du ZonedDateTime
.
Instant instant = zdt.toInstant();
utilisez toujours un Instant
ou ZonedDateTime
plutôt qu'un LocalDateTime
quand vous voulez un moment réel sur la ligne de temps. Les types Local…
n'ont volontairement aucune notion de fuseau horaire et ne représentent donc qu'une idée approximative d'un moment possible. Pour obtenir un moment réel, vous devez assigner un fuseau horaire pour transformer le Local…
les types dans un ZonedDateTime
et de ce fait le rendre significatif.
LocalDate
la classe LocalDate
représente une date seulement sans Heure de la journée et sans fuseau horaire.
ZoneId z = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( z ); // Always pass a time zone.
cordes
pour générer une chaîne représentant la valeur date-heure, il suffit d'appeler toString
sur le java.classes de temps pour la norme ISO 8601 formats.
String output = myLocalDate.toString(); // 2016-09-23
... ou ...
String output = zdt.toString(); // 2016-09-23T12:34:56.789+03:00[America/Montreal]
la classe ZonedDateTime
étend le format standard en ajoutant judicieusement le nom du fuseau horaire entre crochets.
pour d'autres formats, faites une recherche sur le débordement de la pile pour de nombreuses Questions et réponses dans la classe DateTimeFormatter
.
éviter LocalDateTime
contrairement à la commentaire sur la Question par RamanSB, vous devriez pas utiliser LocalDateTime
classe pour la date actuelle.
le LocalDateTime
est délibérément dépourvu de fuseau horaire ou d'information de décalage par rapport à-UTC. Donc, c'est pas approprié quand vous suivez un moment spécifique sur la ligne de temps. Certainement pas approprié pour capturer le moment présent.
la formulation "locale" est contre-intuitive. Il signifie n'importe quelle" localité 1519680920 " plutôt qu'une localité spécifique. Par exemple Noël cette année commence à minuit le 25 décembre: 2017-12-25T00:00:00
, à être représenté comme un LocalDateTime
. Mais cela signifie minuit à différents points du globe à différents moments. Midnight happens first in Kiribati , plus tard en Nouvelle-Zélande, heures plus tard en Inde, et ainsi de suite, avec plusieurs autres des heures passent avant que Noël commence en France alors que les enfants au Canada attendent toujours ce jour-là. Chacun de ces points de départ de Noël serait représenté comme un ZonedDateTime
distinct .
de l'extérieur de votre système
si vous ne pouvez pas faire confiance à votre horloge système, voir Java: Get current Date and Time from Server not System clock et ma réponse .
java.time.Clock
pour harnacher un autre fournisseur du moment présent, écrire une sous-classe du résumé java.time.Clock
classe.
vous pouvez passer votre Clock
implémentation comme un argument aux différents java.temps méthodes. Exemple, Instant.now( clock )
.
Instant instant = Instant.now( yourClockGoesHere ) ;
à des fins d'essai, noter les autres implémentations de Clock
disponibles statiquement à partir de Clock
elle-même: fixed
, offset
, tick
, et plus encore.
à Propos de de java.heure
Le de java.temps framework est construit dans Java 8 et plus tard. Ces classes remplacent les anciennes classes de date legacy telles que java.util.Date
, Calendar
, & SimpleDateFormat
.
le Joda-Time projet, maintenant dans mode de maintenance , conseille la migration vers le de java.temps classes.
pour en savoir plus, voir le Oracle Tutorial . Et rechercher le débordement de la pile pour de nombreux exemples et explications. La spécification est JSR 310 .
vous pouvez échanger java.temps objets directement avec votre base de données. Utiliser un JDBC driver conforme à JDBC 4.2 ou plus tard. Pas besoin de Chaînes, pas besoin de classes java.sql.*
.
où obtenir le java.les classes de temps?
- Java SE 8 , Java SE 9 , et plus tard
- Built-in.
- fait partie de L'API Java standard avec une implémentation groupée.
- Java 9 ajoute des fonctionnalités mineures et des corrections.
- Java SE 6 et Java SE 7
- une grande partie de la java.la fonctionnalité time est rétroportée à Java 6 & 7 dans ThreeTen-Backport .
- Android
- versions ultérieures des implémentations du paquet Android de java.les classes de temps.
- Pour plus tôt Android, le ThreeTenABP "1519620920 projet" s'adapte ThreeTen-Backport (mentionné ci-dessus). Voir comment utiliser ThreeTenABP… .
Le ThreeTen-Extra le projet s'étend java.temps avec des cours supplémentaires. Ce projet est un terrain d'expérimentation pour d'éventuelles futures additions à java.temps. Vous pouvez trouver ici quelques cours utiles tels que: Interval
, YearWeek
, YearQuarter
, et plus .
utiliser:
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
System.out.println(timeStamp );
(ça marche.)
Créer objet de date et simplement l'imprimer.
Date d = new Date(System.currentTimeMillis());
System.out.print(d);
Avez-vous regardé java.util.Date? C'est exactement ce que vous voulez.
similaire aux solutions ci-dessus. Mais je me retrouve toujours à chercher ce morceau de code:
Date date=Calendar.getInstance().getTime();
System.out.println(date);
java.util.Date date = new java.util.Date();
il est automatiquement rempli avec l'heure à laquelle il est instancié.
je trouve que c'est la meilleure façon:
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal.getTime())); // 2014/08/06 16:00:22
1er Comprendre la java.util.Classe de Date
1.1 comment obtenir la Date actuelle
import java.util.Date;
class Demostration{
public static void main(String[]args){
Date date = new Date(); // date object
System.out.println(date); // Try to print the date object
}
}
1.2 comment utiliser la méthode getTime ()
import java.util.Date;
public class Main {
public static void main(String[]args){
Date date = new Date();
long timeInMilliSeconds = date.getTime();
System.out.println(timeInMilliSeconds);
}
}
cette option renvoie le nombre de millisecondes depuis le 1er janvier 1970, 00:00:00 GMT à des fins de comparaison horaire.
1.3 comment formater le temps en utilisant la classe SimpleDateFormat
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
class Demostration{
public static void main(String[]args){
Date date=new Date();
DateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
String formattedDate=dateFormat.format(date);
System.out.println(formattedDate);
}
}
essayez aussi en utilisant différents modèles de format comme "AAAA-MM-JJ hh:mm:ss" et sélectionnez le modèle désiré. http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
2ème Comprendre la java.util.Classe de calendrier
2.1 Utilisation de la classe de calendrier pour obtenir l'heure courante
import java.util.Calendar;
class Demostration{
public static void main(String[]args){
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime());
}
}
2.2 essayer d'utiliser setTime et d'autres méthodes de set pour le calendrier de set à une date différente.
Source: http://javau91.blogspot.com /
utiliser:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy:MM:dd::HH:mm:ss");
System.out.println(sdf.format(System.currentTimeMillis()));
l'instruction d'impression affichera l'heure à laquelle elle est appelée et non celle à laquelle le SimpleDateFormat
a été créé. Il peut donc être appelé à plusieurs reprises sans créer de nouveaux objets.
pour java.util.Date, il suffit de créer une nouvelle Date ()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
System.out.println(dateFormat.format(date)); //2016/11/16 12:08:43
pour java.util.Calendrier, utilise le Calendrier.getInstance ()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
System.out.println(dateFormat.format(cal)); //2016/11/16 12:08:43
pour java.temps.LocalDateTime, utilise LocalDateTime.maintenant ()
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime now = LocalDateTime.now();
System.out.println(dtf.format(now)); //2016/11/16 12:08:43
pour java.temps.LocalDate, utilise LocalDate.maintenant ()
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd");
LocalDate localDate = LocalDate.now();
System.out.println(dtf.format(localDate)); //2016/11/16
référence: https://www.mkyong.com/java/java-how-to-get-current-date-time-date-and-calender /
regardez la classe Date . Il y a aussi la nouvelle classe Calendar qui est la méthode préférée pour effectuer de nombreuses opérations date / heure (un grand nombre des méthodes en Date ont été dépréciées.)
si vous voulez simplement la date courante, alors créez un nouvel objet Date ou appelez Calendar.getInstance();
.
comme mentionné la Date de base() peut faire ce que vous avez besoin en termes d'obtenir l'heure actuelle. Dans ma récente expérience de travail lourdement avec les dates Java il ya beaucoup de bizarreries avec les classes intégrées (ainsi que la dépréciation de beaucoup de la date méthodes de classe). L'une des bizarreries qui m'est apparue est que les mois sont basés sur un indice 0, ce qui d'un point de vue technique a du sens, mais en termes réels peut être très déroutant.
si vous êtes seulement concerné par le courant date qui devrait suffire - cependant, si vous avez l'intention de faire beaucoup de manipulations/calculs avec des dates, il pourrait être très bénéfique d'utiliser une bibliothèque tierce partie (il en existe tellement parce que de nombreux développeurs Java ont été insatisfaits de la fonctionnalité intégrée).
j'appuie la recommandation de Stephen C car J'ai trouvé Joda-time très utile pour simplifier mon travail avec dates, il est également très bien documenté et vous pouvez trouver de nombreux exemples utiles à travers le web. J'ai même j'ai fini par écrire une classe d'enrubannage statique (comme des DateUtils) que j'utilise pour consolider et simplifier toute ma manipulation de date commune.
import java.util.*;
import java.text.*;
public class DateDemo {
public static void main(String args[]) {
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
System.out.println("Current Date: " + ft.format(dNow));
}
}
vous pouvez utiliser la date pour les données actuelles fet. donc, en utilisant
SimpleDateFormat
get format
System.out.println( new SimpleDateFormat("yyyy:MM:dd - hh:mm:ss a").format(Calendar.getInstance().getTime()) );
//2018:02:10 - 05:04:20 PM
date / heure avec AM /PM
la nouvelle API Data-Time est introduite avec L'arrivée de Java 8. Cela est dû à suivre les problèmes causés par l'ancienne API data-time.
difficile à gérer fuseau horaire : besoin d'écrire beaucoup de code à traiter fuseau.
Non Thread Safe : java.util.La Date n'est pas thread-safe.
alors regardez autour de vous avec Java 8
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.time.Month;
public class DataTimeChecker {
public static void main(String args[]) {
DataTimeChecker dateTimeChecker = new DataTimeChecker();
dateTimeChecker.DateTime();
}
public void DateTime() {
// Get the current date and time
LocalDateTime currentTime = LocalDateTime.now();
System.out.println("Current DateTime: " + currentTime);
LocalDate date1 = currentTime.toLocalDate();
System.out.println("Date : " + date1);
Month month = currentTime.getMonth();
int day = currentTime.getDayOfMonth();
int seconds = currentTime.getSecond();
System.out.println("Month : " + month);
System.out.println("Day : " + day);
System.out.println("Seconds : " + seconds);
LocalDateTime date2 = currentTime.withDayOfMonth(17).withYear(2018);
System.out.println("Date : " + date2);
//Prints 17 May 2018
LocalDate date3 = LocalDate.of(2018, Month.MAY, 17);
System.out.println("Date : " + date3);
//Prints 04 hour 45 minutes
LocalTime date4 = LocalTime.of(4, 45);
System.out.println("Date : " + date4);
// Convert to a String
LocalTime date5 = LocalTime.parse("20:15:30");
System.out.println("Date : " + date5);
}
}
code ci-dessus:
Current DateTime: 2018-05-17T04:40:34.603
Date : 2018-05-17
Month : MAY
Day : 17
Seconds : 34
Date : 2018-05-17T04:40:34.603
Date : 2018-05-17
Date : 04:45
Date : 20:15:30
vous pouvez utiliser Date
objet et le format par vous-même. Il est difficile de formater et a besoin de plus de codes, comme un exemple,
Date dateInstance = new Date();
int year = dateInstance.getYear()+1900;//Returns:the year represented by this date, minus 1900.
int date = dateInstance.getDate();
int month = dateInstance.getMonth();
int day = dateInstance.getDay();
int hours = dateInstance.getHours();
int min = dateInstance.getMinutes();
int sec = dateInstance.getSeconds();
String dayOfWeek = "";
switch(day){
case 0:
dayOfWeek = "Sunday";
break;
case 1:
dayOfWeek = "Monday";
break;
case 2:
dayOfWeek = "Tuesday";
break;
case 3:
dayOfWeek = "Wednesday";
break;
case 4:
dayOfWeek = "Thursday";
break;
case 5:
dayOfWeek = "Friday";
break;
case 6:
dayOfWeek = "Saturday";
break;
}
System.out.println("Date: " + year +"-"+ month + "-" + date + " "+ dayOfWeek);
System.out.println("Time: " + hours +":"+ min + ":" + sec);
sortie:
Date: 2017-6-23 Sunday
Time: 14:6:20
comme vous pouvez le voir c'est la pire façon que vous pouvez le faire et selon la documentation oracle il est déprécié .
Oracle doc:
la date de classe représente un instant spécifique dans temps, avec milliseconde précision.
avant JDK 1.1, la date de classe avait deux fonctions supplémentaires. Il permis l'interprétation des dates de l'année, mois, jour, heure, minute, et deuxième valeurs. Il a également permis le formatage et l'analyse de la date chaîne. Malheureusement, l'API pour ces fonctions n'était pas prête à l'internationalisation. À partir de JDK 1.1, la classe de calendrier doit être utilisé pour convertir entre les champs dates et heures et la classe DateFormat doit être utilisé pour formater et analyser les chaînes de date. Le correspondant les méthodes Dans Date sont dépréciées.
alors vous pouvez aussi utiliser Calendar
class,
Calendar.YEAR;
//and lot more
Pour obtenir l'heure actuelle, vous pouvez utiliser:
Calendar rightNow = Calendar.getInstance();
Doc:
comme les autres classes sensibles à la localisation,
Calendar
fournit une méthode de classe,getInstance
, pour obtenir un objet généralement utile de ce type. La méthodegetInstance
de Calendar retourne un objetCalendar
dont le calendrier les champs ont été initialisés avec la date et l'heure courante
ci-dessous code pour obtenir seulement la date
Date rightNow = Calendar.getInstance().getTime();
System.out.println(rightNow);
aussi, Calendar
classe ont des sous-classes. GregorianCalendar
est l'un d'eux et la sous-classe de béton de Calendar
et fournit le système de calendrier standard utilisé par la plupart du monde.
exemple utilisant GregorianCalendar
:
Calendar cal = new GregorianCalendar();
int hours = cal.get(Calendar.HOUR);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
int ap = cal.get(Calendar.AM_PM);
String amVSpm;
if(ap == 0){
amVSpm = "AM";
}else{
amVSpm = "PM";
}
String timer = hours + "-" + minute + "-" + second + " " +amVSpm;
System.out.println(timer);
vous pouvez utiliser SimpleDateFormat
, moyen simple et rapide de formater la date:
String pattern = "yyyy-MM-dd";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
String date = simpleDateFormat.format(new Date());
System.out.println(date);
Lire Jakob Jenkov tutoriel: Java SimpleDateFormat .
comme d'autres l'ont mentionné, quand nous avons besoin de faire des manipulations à partir de dates, nous n'avons pas eu de façon simple et optimale ou nous ne pouvions pas satisfait construit dans les classes, APIs.
comme un exemple, quand nous avons besoin de obtenir différent entre deux dates , quand nous avons besoin de comparer deux dates(il y a une méthode intégrée aussi pour cela) et beaucoup plus. Nous avons dû utiliser des bibliothèques tierces. Un des bons et populaires est Joda Time.
lire aussi:
- Comment obtenir correctement la date et l'Heure de Joda-Time?
- JodaTime - comment obtenir l'heure courante au format UTC
- exemples pour
JodaTime
. - Télécharger Joda
. La chose la plus heureuse est maintenant(en java 8), personne n'a besoin de télécharger et d'utiliser des bibliothèques pour quelque raison que ce soit. Un exemple simple pour obtenir la date et l'heure actuelle en Java 8,
LocalTime localTime = LocalTime.now();
System.out.println(localTime);
//with time zone
LocalTime localTimeWtZone = LocalTime.now(ZoneId.of("GMT+02:30"));
System.out.println(localTimeWtZone);
l'Un des bon billet de blog à lire sur Java 8 date .
et gardez remeber pour en savoir plus sur la date et l'Heure de Java parce qu'il y a beaucoup plus de façons et/ou des moyens utiles que vous pouvez obtenir/utiliser.
- Oracle tutoriels pour la date et de l'heure .
- Oracle tutoriels pour formatter .
- Leçon: Calendrier Standard.
EDIT:
selon le commentaire de @BasilBourque, les vieilles classes de date ennuyeuses telles que java.util.Date
, java.util.Calendar
, et java.text.SimpleTextFormat
sont maintenant legacy , supplantées par le java.time
classes .
je vais aller de l'avant et jeter cette réponse parce que c'est tout ce dont j'avais besoin quand j'ai eu la même question:
Date currentDate = new Date(System.currentTimeMillis());
currentDate
est maintenant votre date courante dans un objet Java Date
.