Comment convertir la date actuelle en chaîne en Java?
java
string
date
formatting
user354299
la source
la source
Pris d' ici
la source
Calendar
plus souhaitable queDate
?la source
Utilisez une
DateFormat
implémentation; par exempleSimpleDateFormat
.la source
tl; dr
Mieux vaut spécifier explicitement le fuseau horaire souhaité / attendu.
java.time
La méthode moderne à partir de Java 8 et versions ultérieures consiste à utiliser le framework java.time .
Spécifiez le fuseau horaire, car la date varie dans le monde à un moment donné.
Par défaut, vous obtenez une chaîne au format standard ISO 8601 .
Pour les autres formats, utilisez la
java.time.format.DateTimeFormatter
classe.À propos de java.time
Le framework java.time est intégré à Java 8 et versions ultérieures. Ces classes supplantent les anciens gênants hérités des classes date-heure tels que
java.util.Date
,Calendar
, &SimpleDateFormat
.Le projet Joda-Time , désormais en mode maintenance , conseille la migration vers les classes java.time .
Pour en savoir plus, consultez le didacticiel Oracle . Et recherchez Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310 .
Vous pouvez échanger des objets java.time directement avec votre base de données. Utilisez un pilote JDBC compatible avec JDBC 4.2 ou version ultérieure. Pas besoin de chaînes, pas besoin de
java.sql.*
classes.Où obtenir les classes java.time?
Le projet ThreeTen-Extra étend java.time avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels futurs ajouts à java.time. Vous trouverez peut - être des classes utiles ici, comme
Interval
,YearWeek
,YearQuarter
et plus .la source
Plus rapide :
la source
Pour le temps comme AAAA-MM-jj
Et la bibliothèque de DateTime est:
import org.joda.time.DateTime;
la source
DateTime
provient-il? Une réponse sur Stack Overflow devrait avoir des explications car ce site est censé être plus qu'une bibliothèque d'extraits de code.La plupart des réponses sont / étaient valides. La nouvelle modification de l'API JAVA pour la gestion des dates a permis de réduire certaines ambiguïtés antérieures dans la gestion des dates Java.
Vous recevrez un message obsolète pour des appels similaires.
L'appel ci-dessus a demandé au développeur de supposer qu'un nouvel objet Date donnera l'objet Date avec l'horodatage actuel. Ce comportement n'est pas cohérent dans les autres classes d'API Java.
La nouvelle façon de procéder consiste à utiliser l' instance de calendrier .
Ici aussi, la convention de dénomination n'est pas parfaite mais elle est bien organisée. Pour une personne comme moi qui a du mal à agresser les choses mais qui n'oublierait jamais quelque chose si cela semble logique, c'est une bonne approche.
C'est plus synonyme de la vraie vie
Une autre façon de faire est d'utiliser l'API Joda time
ou le plus évident
les deux renverront le même résultat.
la source
java.util.Date
,java.util.Calendar
etjava.text.SimpleTextFormat
sont maintenant héritage , supplanté par les java.time classes. De plus, le projet Joda-Time est maintenant en mode maintenance , l'équipe conseillant la migration vers java.time.Clock
implémentation dans Java 8 est exactement la même que les classes héritées. Ce n'est qu'en Java 9 qu'une nouvelle implémentation arrive, capable de capturer l'instant actuel avec une résolution aussi fine que la nanoseconde.la source
String
format à votre fonction.