1. LocalDateTimekelas

Kelas LocalDateTimemenggabungkan kemampuan LocalDatedan LocalTimekelas: ia menyimpan tanggal dan waktu. Objeknya juga tidak dapat diubah, dan metodenya mirip dengan kelas LocalDatedan LocalTime.

Mendapatkan tanggal dan waktu saat ini

Semuanya seperti yang Anda harapkan di sini: kami menggunakan now()metode ini. Contoh:

Kode Keluaran konsol
LocalDateTime time = LocalDateTime.now();
System.out.println("Now = " + time);

Now = 2019-02-22T09:49:19.275039200

Saat ditampilkan di layar, tanggal dan waktu dipisahkan dengan huruf T.

Mendapatkan tanggal dan waktu tertentu

Tidak mengherankan, semuanya mirip dengan kelas LocalDatedan LocalTime— kami menggunakan of()metode ini:

... = LocalDateTime.of(year, month, day, hours, minutes, seconds);

Pertama, ada parameter yang menentukan tanggal dalam format yang sama seperti di LocalDatekelas. Lalu ada parameter yang menentukan waktu dalam format yang sama seperti di kelas LocalTime. Daftar semua variasi metode of()diberikan di bawah ini:

Metode
of (int year, int month, int day, int hour, int minute)
of (int year, int month, int day, int hour, int minute, int second)
of (int year, int month, int day, int hour, int minute, int second, int nano)
of (int year, Month month, int day, int hour, int minute)
of (int year, Month month, int day, int hour, int minute, int second)
of (int year, Month month, int day, int hour, int minute, int second, int nano)
of (LocalDate date, LocalTime time)

Anda dapat mengatur tanggal secara langsung atau mengaturnya secara tidak langsung melalui LocalDatedan LocalTimeobjek:

Kode
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime current = LocalDateTime.of(date, time);
System.out.println("Now = " + current);

LocalDateTime date = LocalDateTime.of(2019, Month.MAY, 15, 12, 15, 00);
System.out.println("Now = " + date);
Keluaran konsol
Now = 2019-02-22T10:05:38.465675100
Now = 2019-05-15T12:15

Kelas LocalDateTimememiliki metode untuk mendapatkan elemen tanggal dan/atau waktu. Mereka persis mencerminkan metode LocalDatedan LocalTimekelas. Kami tidak akan mengulanginya di sini.



2. Instantkelas

Pencipta Java juga tidak melupakan cara jadul.

Date Time API menyertakan kelas Instan untuk bekerja dengan waktu yang dimaksudkan untuk proses yang terjadi di komputer. Alih-alih jam, menit, dan detik, ini berurusan dengan detik, milidetik, dan nanodetik.

Kelas ini memiliki dua bidang yang mewakili:

  • jumlah detik yang telah berlalu sejak 1 Januari 1970
  • sejumlah nanodetik

Apakah kelas dibuat untuk pengembang? Ya. Itu sebabnya menghitung waktu dalam Unix-time, yang dimulai pada awal tahun 1970.

Bahkan dapat dikatakan bahwa Instantkelas adalah versi kelas yang disederhanakan Date, hanya mempertahankan apa yang dibutuhkan pemrogram.

Anda bisa mendapatkan Instantobjek dengan cara yang persis sama dengan LocalTimeobjek:

Instant timestamp = Instant.now();

Di mana timestampvariabel Instant, dan merupakan panggilan ke metode statis kelas .Instant.now()now()Instant

Contoh:

Kode Keluaran konsol
Instant timestamp = Instant.now();
System.out.println(timestamp);

2019-02-22T08:42:42.234945300Z

Anda juga dapat membuat objek baru menggunakan variasi metode of()dengan meneruskan waktu yang telah berlalu sejak 1 Januari 1970:

ofEpochMilli(long milliseconds)
Anda harus melewati jumlah milidetik
ofEpochSecond(long seconds)
Anda harus melewati jumlah detik
ofEpochSecond(long seconds, long nanos)
Anda perlu melewati detik dan nanodetik

Metode yang tersedia pada Instantobjek

Kelas Instan memiliki dua metode yang mengembalikan nilai bidangnya:

long getEpochSecond()
Jumlah detik yang telah berlalu sejak 1 Januari 1970
int getNano()
Nanodetik.
long toEpochMilli()
Jumlah milidetik yang telah berlalu sejak 1 Januari 1970

Ada juga metode untuk membuat Instantobjek baru berdasarkan yang sudah ada:

Instant plusSeconds(long)
Menambahkan detik ke waktu saat ini
Instant plusMillis(long)
Menambahkan milidetik
Instant plusNanos(long)
Menambahkan nanodetik
Instant minusSeconds(long)
Mengurangi detik
Instant minusMillis(long)
Kurangi milidetik
Instant minusNanos(long)
Mengurangi nanodetik

Contoh:

Kode Keluaran konsol
Instant timestamp = Instant.now();
System.out.println(timestamp);

long n = timestamp.toEpochMilli();
Instant time = Instant.ofEpochMilli(n);
System.out.println(time);

2019-02-22T09:01:20.535344Z



2019-02-22T09:01:20.535Z