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
Mary-Kate Olsenoriginal
2024-12-11 13:44:16238parcourir

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"));

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"));

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