Java: Converting CurrentTimeMillis to a Date
When working with timestamps stored as milliseconds, it's often necessary to convert them into a human-readable date format. This conversion should adhere to specific locale and time zone settings to ensure accuracy and precision.
To convert currentTimeMillis to a date in Java, several approaches can be taken:
Using Date and SimpleDateFormat:
Utilizing the java.util.Date class allows you to create a date representation from a timestamp.
<code class="java">Date date = new Date(millis);</code>
Subsequently, you can format the date using a SimpleDateFormat, specifying the desired format and locale:
<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US); System.out.println("SimpleDateFormat -" + sdf.format(date));</code>
Using Java 8 Time API (Java.time):
With the introduction of the Java 8 time API, more precise and flexible date-time manipulation became possible.
To convert milliseconds to a java.time.LocalDateTime in a specific time zone:
<code class="java">Instant instance = Instant.ofEpochMilli(millis); LocalDateTime localDateTime = LocalDateTime.ofInstant(instance, ZoneId.of("Asia/Kolkata"));</code>
To format the date, consider using a DateTimeFormatter:
<code class="java">DateTimeFormatter formatter = DateTimeFormatter.ofPattern("u-M-d hh:mm:ss a O"); var string = zonedDateTime.format(formatter);</code>
This approach provides more control over date-time manipulation and time zone handling.
By adhering to locale and time zone specifications, these methods ensure accurate conversions of currentTimeMillis to dates, meeting your specific requirements for log processing and data integrity.
The above is the detailed content of How to Convert Java\'s CurrentTimeMillis to a Human-Readable Date?. For more information, please follow other related articles on the PHP Chinese website!