Converting Epoch Time to MySQL Timestamp in Java
When working with time values in Java and MySQL, converting epoch time, representing the number of seconds since the Unix epoch, to a MySQL timestamp format can be necessary.
To achieve this conversion, a popular approach involves using the Java 8 java.time API. This API provides a set of modern classes and interfaces for handling dates and times, including conversions between different formats.
Converting Epoch Time to MySQL Timestamp
The following snippet demonstrates how to convert epoch time to a MySQL timestamp using the java.time API:
import java.time.LocalDateTime; // Convert epoch time in milliseconds to seconds long epochSeconds = System.currentTimeMillis() / 1000; // Create a LocalDateTime object from the epoch seconds LocalDateTime timestamp = LocalDateTime.ofEpochSecond(epochSeconds, 0, java.time.ZoneOffset.UTC); // Format the LocalDateTime object as a MySQL timestamp string String mySQLTimestamp = timestamp.toString();
The resulting mySQLTimestamp string will be in the format YYYY-MM-DD HH:MM:SS, which is compatible with the MySQL timestamp datatype.
Alternative Approach: SimpleDateFormat
While the java.time API is generally recommended for handling dates and times, another approach to convert epoch time using the legacy SimpleDateFormat class:
import java.text.SimpleDateFormat; import java.util.Date; // Convert epoch time in milliseconds to a Date object Date date = new Date(epochSeconds * 1000); // Create a SimpleDateFormat to format the Date as a MySQL timestamp string SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:MM:SS"); // Format the Date object as a MySQL timestamp string String mySQLTimestamp = sdf.format(date);
This approach is less preferred compared to the java.time API due to potential thread-safety issues and inconsistencies across different versions of the JDK.
The above is the detailed content of How to Convert Epoch Time to a MySQL Timestamp in Java?. For more information, please follow other related articles on the PHP Chinese website!