Convert Time to Milliseconds in Java

1. Overview

In this quick tutorial, we’ll illustrate multiple ways of converting time into Unix-epoch milliseconds in Java.

More specifically, we’ll use:

  • Core Java’s java.util.Date and Calendar
  • Java 8’s Date and Time API
  • Joda-Time library

2. Core Java

2.1. Using Date

Firstly, let’s define a millis property holding a random value of milliseconds:

long millis = 1556175797428L; // April 25, 2019 7:03:17.428 UTC

We’ll use this value to initialize our various objects and verify our results.

Next, let’s start with a Date object:

Date date = // implementation details

Now, we’re ready to convert the date into milliseconds by simply invoking the getTime() method:

Assert.assertEquals(millis, date.getTime());

2.2. Using Calendar

Likewise, if we have a Calendar object, we can use the getTimeInMillis() method:

Calendar calendar = // implementation details
Assert.assertEquals(millis, calendar.getTimeInMillis());

3. Java 8 Date Time API

3.1. Using Instant

Simply put, Instant is a point in Java’s epoch timeline.

We can get the current time in milliseconds from the Instant:

java.time.Instant instant = // implementation details
Assert.assertEquals(millis, instant.toEpochMilli());

As a result, the toEpochMilli() method returns the same number of milliseconds as we defined earlier.

3.2. Using LocalDateTime

Similarly, we can use Java 8’s Date and Time API to convert a LocalDateTime into milliseconds:

LocalDateTime localDateTime = // implementation details
ZonedDateTime zdt = ZonedDateTime.of(localDateTime, ZoneId.systemDefault());
Assert.assertEquals(millis, zdt.toInstant().toEpochMilli());

First, we created an instance of the current date. After that, we used the toEpochMilli() method to convert the ZonedDateTime into milliseconds.

As we know, LocalDateTime doesn’t contain information about the time zone. In other words, we can’t get milliseconds directly from LocalDateTime instance.

4. Joda-Time

While Java 8 adds much of Joda-Time’s functionality, we may want to use this option if we are on Java 7 or earlier.

4.1. Using Instant

Firstly, we can obtain the current system milliseconds from the Joda-Time Instant class instance using the getMillis() method:

Instant jodaInstant = // implementation details
Assert.assertEquals(millis, jodaInstant.getMillis());

4.2. Using DateTime

Additionally, if we have a Joda-Time DateTime instance:

DateTime jodaDateTime = // implementation details

Then we can retrieve the milliseconds with the getMillis() method:

Assert.assertEquals(millis, jodaDateTime.getMillis());

5. Conclusion

In conclusion, this article demonstrates how to convert time into milliseconds in Java.

Finally, as always, the complete code for this article is available over on GitHub.

Related posts:

Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Spring Boot - Tomcat Port Number
Java Program to Implement the Vigenere Cypher
ETags for REST with Spring
Java Program to Solve any Linear Equation in One Variable
Java Program for Topological Sorting in Graphs
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Spring NoSuchBeanDefinitionException
Generating Random Numbers in a Range in Java
Java TreeMap vs HashMap
Java Program to Implement Quick Sort Using Randomization
Hamcrest Collections Cookbook
Removing all duplicates from a List in Java
Java Program to Implement Sorted Vector
Kết hợp Java Reflection và Java Annotations
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Hướng dẫn Java Design Pattern – Memento
Getting Started with Custom Deserialization in Jackson
Custom Error Pages with Spring MVC
New Features in Java 15
Introduction to Spring Cloud CLI
Java Program to Implement CopyOnWriteArrayList API
Command-Line Arguments in Java
Cơ chế Upcasting và Downcasting trong java
Giới thiệu HATEOAS
How to Get a Name of a Method Being Executed?
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Send email with SMTPS (eg. Google GMail)
Java Program to Implement Suffix Array
A Custom Media Type for a Spring REST API