Ottieni il timestamp corrente in Java Date

Mohammad Irfan 12 ottobre 2023
  1. Ottieni il timestamp corrente utilizzando la classe Timestamp in Java
  2. Ottieni il timestamp corrente utilizzando la classe Date in Java
  3. Ottieni il timestamp corrente utilizzando la classe ZonedDateTime in Java
  4. Ottieni il timestamp corrente utilizzando la classe LocalDateTime in Java
  5. Ottieni il timestamp corrente utilizzando la classe Instant in Java
  6. Ottieni il timestamp corrente utilizzando la classe Timestamp in Java
  7. Ottieni il timestamp corrente utilizzando il metodo toInstant() in Java
Ottieni il timestamp corrente in Java Date

Questo tutorial introduce come ottenere il timestamp corrente in Java ed elenca alcuni codici di esempio per comprendere l’argomento.

Ci sono diversi modi per ottenere il timestamp corrente in Java, come la classe Timspamp, la classe Date, la classe ZonedDateTime, la classe LocalDateTime, ecc. Vediamo alcuni esempi.

Ottieni il timestamp corrente utilizzando la classe Timestamp in Java

Per ottenere il timestamp corrente in Java, possiamo utilizzare la classe Timestamp. Poiché questa classe non ha un costruttore predefinito, passiamo il tempo in millisecondi. Usiamo il metodo currentTimeMillis() della classe System per ottenere l’ora. Vedi l’esempio sotto.

import java.sql.Timestamp;

public class SimpleTesting {
  public static void main(String[] args) {
    Long datetime = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(datetime);
    System.out.println("Current Time Stamp: " + timestamp);
  }
}

Produzione:

Current Time Stamp: 2021-03-06 17:24:57.107

Ottieni il timestamp corrente utilizzando la classe Date in Java

Possiamo usare la classe Date del pacchetto util per ottenere il timestamp corrente. Per formattare il timestamp nel formato yyyy.MM.dd, possiamo usare la classe SimpleDateFormat. Vedi l’esempio sotto.

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

public class SimpleTesting {
  public static void main(String[] args) {
    SimpleDateFormat date = new SimpleDateFormat("yyyy.MM.dd.HH:mm:ss");
    String timeStamp = date.format(new Date());
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Produzione:

Current Time Stamp: 2021.03.06.17:26:17

Ottieni il timestamp corrente utilizzando la classe ZonedDateTime in Java

La classe ZonedDateTime del pacchetto Java datetime crea un timestamp con le informazioni sulla zona. Usiamo il metodo systemDefault() di ZoneId per ottenere la zona predefinita del sistema e il metodo now() per ottenere il timestamp corrente con il zoneId specificato.

Dopo aver ottenuto il timestamp corrente, usiamo il metodo ofPattern() della classe DateTimeFormatter per ottenere il timestamp in un formato specificato. Vedi l’esempio sotto.

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class SimpleTesting {
  public static void main(String[] args) {
    ZoneId zid = ZoneId.systemDefault();
    ZonedDateTime datetime = ZonedDateTime.now(zid);
    System.out.println("Current Time Stamp: " + datetime);
    // if want to format into a specific format
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu.MM.dd.HH:mm:ss");
    String timeStamp = datetime.format(formatter);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Produzione:

Current Time Stamp: 2021-03-06T17:35:52.722720362Z[Etc/UTC]
Current Time Stamp: 2021.03.06.17:35:52

Ottieni il timestamp corrente utilizzando la classe LocalDateTime in Java

Se stai lavorando con Java 8, usa la classe LocalDateTime per ottenere il timestamp corrente in Java. Vedi l’esempio sotto.

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class SimpleTesting {
  public static void main(String[] args) {
    LocalDateTime dateTime = LocalDateTime.now();
    System.out.println("Current Time Stamp Default Format: " + dateTime);
    String timeStamp = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(dateTime);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

Produzione:

Current Time Stamp Default Format: 2021-02-27T14:15:46.196564
Current Time Stamp: 2021-02-27 14:15:46

Ottieni il timestamp corrente utilizzando la classe Instant in Java

La classe Instant può essere utilizzata per ottenere il timestamp corrente. Usiamo il metodo now() della classe Instant per recuperare il timestamp corrente in istanti.

import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    Instant timeStamp = Instant.now();
    System.out.println("Current Time Stamp Default Format: " + timeStamp);
  }
}

Produzione:

Current Time Stamp Default Format: 2021-02-27T08:48:28.001913Z

Ottieni il timestamp corrente utilizzando la classe Timestamp in Java

Questa è un’altra soluzione per ottenere il timestamp corrente in Java con le classi Timestamp e Instant. Vedi l’esempio sotto.

import java.sql.Timestamp;
import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    long time = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(time);
    Instant instant = timestamp.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

Produzione:

Current Time Stamp: 2021-02-27T08:50:05.125Z

Ottieni il timestamp corrente utilizzando il metodo toInstant() in Java

Se abbiamo un oggetto data che rappresenta il timestamp, possiamo anche usare il metodo toInstant() della classe Date per ottenere il timestamp corrente.

import java.time.Instant;
import java.util.Date;
public class SimpleTesting {
  public static void main(String[] args) {
    Date date = new Date();
    Instant instant = date.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

Produzione:

Current Time Stamp: 2021-02-27T08:51:34.223Z

Articolo correlato - Java DateTime