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!