Convert Timestamp to Long in Java

Author: SAI K


Introduction

In Java, dealing with dates and times is a common task in many applications. Sometimes, you may need to convert a Timestamp object into a long value, which represents the number of milliseconds since January 1, 1970, 00:00:00 GMT. This blog post will guide you through the process of converting a Timestamp to a long value in Java.

Understanding Timestamp and Long

Method 1: Using getTime() Method

The simplest way to convert a Timestamp to a long is by using the getTime() method. This method returns the number of milliseconds since January 1, 1970, 00:00:00 GMT.

Code Example

import java.sql.Timestamp;

public class TimestampConverter {

    public static void main(String[] args) {
        // Creating a Timestamp object
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        // Converting Timestamp to long
        long milliseconds = timestamp.getTime();

        // Display the result
        System.out.println("Timestamp as long: " + milliseconds);
    }
}

Output:

Timestamp as long: [current time in milliseconds]

Method 2: Using toInstant().toEpochMilli() (Java 8 and later)

If you are using Java 8 or later, you can take advantage of the Instant class for this conversion. This method is more versatile and aligns with the modern Java Date and Time API.

Code Example

import java.sql.Timestamp;
import java.time.Instant;

public class TimestampConverter {

    public static void main(String[] args) {
        // Creating a Timestamp object
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        // Converting Timestamp to long
        long milliseconds = timestamp.toInstant().toEpochMilli();

        // Display the result
        System.out.println("Timestamp as long: " + milliseconds);
    }
}

Output:

Timestamp as long: [current time in milliseconds]

Conclusion

Converting a Timestamp to a long value in Java is straightforward and can be done using either the getTime() method for simplicity or the toInstant().toEpochMilli() for a more modern approach. Both methods are effective and depend on your project's Java version and coding style preferences.

This conversion is essential for applications that require time calculations or storage of dates in a numeric format.

Related Java and Advanced Java Tutorials/Guides