How to Get Current Timestamp (Epoch) in Milliseconds in Java
There are several ways to get the current epoch timestamp in milliseconds in Java.
An epoch is the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC (i.e.
1970-01-01T00:00:00Z
).
All of the options below return the same timestamp. The various options are a result of the evolution of the Java date API.
1. Using System.currentTimeMillis()
We can simply use currentTimeMillis() on the System
class.
long now = System.currentTimeMillis();
2. Using Instant.now().toEpochMilli()
The Instant
class is also available to us in Java 8.
long now = Instant.now().toEpochMilli();
3. Using Date
or Calendar
The use of the Date
and Calendar
class was replaced by java.time in Java 8, so it’s generally not recommended. However, it is still a valid option to obtain the current epoch timestamp.
Using the Date
class:
Date date = new Date();
long now = date.getTime();
Using the Calendar
class:
Calendar calendar = Calendar.getInstance();
long now = calendar.getTimeInMillis();