Maison >base de données >tutoriel mysql >Comment gérer efficacement les formats de date et d'heure MySQL en Java ?

Comment gérer efficacement les formats de date et d'heure MySQL en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 10:22:09461parcourir

How to Effectively Handle MySQL Date and Time Formats in Java?

Techniques de gestion des formats de date et d'heure MySQL en Java

Lorsque vous travaillez avec des bases de données MySQL en Java, il est souvent nécessaire d'extraire et de saisir informations de date et d'heure de manière efficace. Pour y parvenir, envisagez les stratégies suivantes :

Représentation des données

Java utilise l'objet java.util.Date pour représenter les dates, ce qui correspond essentiellement à l'horodatage Epoch. Cet objet capture à la fois les informations de date et d'heure, généralement avec une précision à la milliseconde.

Dans MySQL, les types de date et d'heure standard incluent DATE, TIME et TIMESTAMP (ou DATETIME dans certaines bases de données). Ces types correspondent à java.sql.Date, java.sql.Time et java.sql.Timestamp dans JDBC, qui héritent tous de java.util.Date. La précision peut varier en fonction de la base de données, mais elle est souvent mesurée en millisecondes comme Java.

Sous-classes de date et d'heure java.sql

Contrairement à java.util.Date , java.sql.Date stocke exclusivement les informations de date (année, mois, jour), tandis que java.sql.Time stocke uniquement les informations de temps (heures, minutes, secondes). java.sql.Timestamp combine des données de date et d'heure, similaires à java.util.Date.

Stockage des horodatages

Pour stocker un horodatage dans la base de données à l'aide de JDBC, employez PreparedStatement#setTimestamp(). Par exemple :

java.util.Date date = getItSomehow();
Timestamp timestamp = new Timestamp(date.getTime());
preparedStatement = connection.prepareStatement("SELECT * FROM tbl WHERE ts > ?");
preparedStatement.setTimestamp(1, timestamp);

Récupération des horodatages

Pour récupérer un horodatage de la base de données, utilisez ResultSet#getTimestamp(). Exemple :

Timestamp timestamp = resultSet.getTimestamp("ts");
java.util.Date date = timestamp; // Upcast directly

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn