Maison > Java > javaDidacticiel > Comment convertir l'heure d'époque en horodatage MySQL en Java ?

Comment convertir l'heure d'époque en horodatage MySQL en Java ?

Mary-Kate Olsen
Libérer: 2024-12-11 13:44:16
original
237 Les gens l'ont consulté

How to Convert Epoch Time to MySQL Timestamp in Java?

Traduction d'Epoch en horodatage MySQL en Java

Les programmeurs Java rencontrent souvent le besoin de convertir l'heure d'Epoch, qui représente le nombre de secondes écoulées depuis l'arrivée d'Unix. époque, au format d'horodatage MySQL. Voici comment réaliser cette conversion à l'aide de l'API Date-Time moderne de Java, java.time.

java.time

Introduit avec Java SE 8, java.time fournit un API Date-Heure complète et résistante aux erreurs. Il mappe les types ANSI SQL aux types java.time, comme indiqué ci-dessous :

ANSI SQL Java SE 8
DATE LocalDate
TIME LocalTime
TIMESTAMP LocalDateTime
TIME WITH TIMEZONE OffsetTime
TIMESTAMP WITH TIMEZONE OffsetDateTime

Conversion d'Epoch en MySQL Timestamp

En utilisant java.time, on peut facilement convertir Heure d'époque vers un horodatage MySQL :

// Get current epoch time in milliseconds
long epochNow = System.currentTimeMillis();

// Create a LocalDateTime object from the epoch time
LocalDateTime timestampNow = Instant.ofEpochMilli(epochNow).atZone(ZoneId.systemDefault()).toLocalDateTime();

// Convert to MySQL timestamp format using DateTimeFormatter
String mySQLtimestamp = timestampNow.format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
Copier après la connexion

Exemple Utilisation

Dans l'extrait de code fourni, vous avez epochNow représentant l'heure actuelle et date7daysAgo représentant un horodatage de 7 jours dans le passé. Vous pouvez facilement convertir les deux horodatages au format MySQL à l'aide du code ci-dessus et les stocker dans mySQLtimestamp.

String mySQLtimestampNow = LocalDateTime.ofInstant(Instant.ofEpochMilli(epochNow), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));

String mySQLtimestamp7DaysAgo = LocalDateTime.ofInstant(Instant.ofEpochMilli(date7daysAgo), ZoneId.systemDefault())
        .format(DateTimeFormatter.ofPattern("yyyy-MM-dd:HH:mm:ss"));
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal