Ottieni la data e l'ora corrente in Java

Rupam Yadav 12 ottobre 2023
  1. LocalDateTime.now() per ottenere la data e l’ora correnti in Java
  2. ZonedDateTime.now() per ottenere la data e l’ora correnti con il fuso orario in Java
  3. Calendar.getInstance() per ottenere la data e l’ora correnti in Java
Ottieni la data e l'ora corrente in Java

Introdurremo tutti i vari metodi in Java che possono ottenere la data e l’ora correnti. Vedremo esempi dettagliati per capire meglio le cose.

LocalDateTime.now() per ottenere la data e l’ora correnti in Java

Possiamo ottenere la data-ora corrente usando la classe LocaleDateTime con il metodo now(). Restituisce la data e l’ora nel formato YYYY-MM-DD-hh-mm-ss.zzz che assomiglia a 2020-09-22T14:39:33.889798.

Per renderlo più facilmente leggibile, useremo DateTimeFormatter.ofPattern(pattern) che accetta uno schema data-ora che possiamo personalizzare in base alle nostre esigenze.

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
  public static void main(String[] args) {
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
    System.out.println("yyyy/MM/dd HH:mm:ss-> " + dtf.format(LocalDateTime.now()));

    DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yy/MM/dd HH:mm:ss");
    System.out.println("yy/MM/dd HH:mm:ss-> " + dtf2.format(LocalDateTime.now()));

    DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MMMM/dd HH:mm:ss");
    System.out.println("yyyy/MMMM/dd HH:mm:ss-> " + dtf3.format(LocalDateTime.now()));

    DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
    System.out.println("yyyy/MM/dd HH:mm-> " + dtf4.format(LocalDateTime.now()));

    DateTimeFormatter dtf5 = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm");
    System.out.println("yyyy/MM/dd hh:mm:ss-> " + dtf5.format(LocalDateTime.now()));
  }
}

Produzione:

yyyy/MM/dd HH:mm:ss-> 2020/09/22 15:07:01
yy/MM/dd HH:mm:ss-> 20/09/22 15:07:01
yyyy/MMMM/dd HH:mm:ss-> 2020/September/22 15:07:01
yyyy/MM/dd HH:mm-> 2020/09/22 15:07
yyyy/MM/dd hh:mm:ss-> 2020/09/22 03:07

ZonedDateTime.now() per ottenere la data e l’ora correnti con il fuso orario in Java

Il fuso orario è una parte importante della data e dell’ora. Possiamo ottenere la data e l’ora con il fuso orario utilizzando ZonedDateTime.now().

Non è tutto, poiché possiamo ottenere l’ora di ogni fuso orario passando gli argomenti ZoneId all’interno di ZonedDateTime.now().

Dai un’occhiata all’esempio di seguito.

import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    System.out.println(ZonedDateTime.now());

    System.out.println("Get current timezone " + ZonedDateTime.now().getZone());

    System.out.println(
        "Get time of different timezone: " + ZonedDateTime.now(ZoneId.of("America/New_York")));
  }
}

Produzione:

2020-09-22T15:53:32.635585+05:30[Asia/Kolkata]
Get current timezone Asia/Kolkata
Get time of different timezone: 2020-09-22T06:23:32.643391-04:00[America/New_York]

Calendar.getInstance() per ottenere la data e l’ora correnti in Java

Un altro modo per ottenere la data/ora corrente è usare Calendar.getInstance() restituisce un oggetto Calendar con la data e l’ora correnti che possono essere convertite nel formato Date/Time utilizzando il metodo getTime().

Possiamo vedere l’ora è mostrata nell’esempio.

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

public class Main {
  public static void main(String[] args) {
    String timeStamp =
        new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime());

    System.out.println(timeStamp);
  }
}

Produzione:

2020/09/22 15:59:45
Autore: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Articolo correlato - Java DateTime