Как получить текущий timestamp в Java

Чтобы получить текущий timestamp в Java:

package main;

import java.sql.Timestamp;

public class Main {
    public static void main(String[] args){
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp);
    }
}

Вывод:

2019-10-03 10:09:21.61

Вот еще два более подробных примера как получить текущий timestamp в Java:

1. java.sql.Timestamp

Есть два метода получить текущий java.sql.Timestamp

package main;

import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss");

    public static void main(String[] args) {

        // Метод 1
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp);

        // Метод 2 - через Date
        Date date = new Date();
        System.out.println(new Timestamp(date.getTime()));

        // возвращает количество миллисекунд с 1 января 1970, 00:00:00 GMT
        System.out.println(timestamp.getTime());

        // форматированный timestamp
        System.out.println(dateFormat.format(timestamp));
    }
}

Вывод:

2019-10-03 10:20:11.114
2019-10-03 10:20:11.114
1570080011114
2019.10.03.10.20.11

2. java.time.Instant

В Java 8 вы можете преобразовать java.sql.Timestamp в новый java.time.Instant

package main;

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

public class Main {

    public static void main(String[] args) {

        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp);

        // возвращает количество миллисекунд с 1 января 1970, 00:00:00 GMT
        System.out.println(timestamp.getTime());

        // Преобразуем timestamp в instant
        Instant instant = timestamp.toInstant();
        System.out.println(instant);

        // возвращает количество миллисекунд с эпохи 1970-01-01T00:00:00Z
        System.out.println(instant.toEpochMilli());

        // Преобразуем instant в timestamp
        Timestamp tsFromInstant = Timestamp.from(instant);
        System.out.println(tsFromInstant.getTime());
    }
}

Вывод:

2019-10-03 10:24:54.255
1570080294255
2019-10-03T05:24:54.255Z
1570080294255
1570080294255

Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Основные опции JVM для повышения производительности и отладки