Java - Tarikh & Masa

Helo semua, pemaju Java masa depan! Hari ini, kita akan memulakan perjalanan yang menarik melalui dunia tarikh dan masa di dalam Java. Sebagai guru sains komputer yang mesra, saya di sini untuk mengajar anda melalui topik ini yang kadang-kadang susah tetapi sentiasa menarik. Jadi, ambil rakam waktu virtual anda, dan mari kita untuk untuk kongsikan!

Java - Date & Time

Pengenalan kepada Tarikh dan Masa di Java

Sebelum kita mula untuk mengkod, mari kita untuk menghargai kepentingan pengendalian tarikh dan masa di dalam pengaturcaraan. Bayangkan jika anda sedang membina aplikasi pengingat hari lahir atau pemasa untuk countdown untuk Malam Tahun Baru. Tanpa pengendalian tarikh dan masa yang betul, aplikasi anda akan sama berguna seperti rakam waktu coklat!

Java menyediakan kepada kita alat yang kuat untuk bekerja dengan tarikh dan masa. Kita akan fokus kepada dua kelas utama: Date dan Calendar. Jangan khawatir jika ini terdengar menakutkan sekarang - pada akhir tutorial ini, anda akan dapat untuk menghentam tarikh seperti rakam waktu pahlawan rakam waktu profesionnal!

Mendapatkan Tarikh dan Masa Semasa

Mari kita mula dengan sesuatu yang mudah: mendapatkan tarikh dan masa semasa. Ia seperti untuk bertanya kepada Java, "Hei, masa ni adalah pukul berapa?"

import java.util.Date;

public class CurrentDateTime {
public static void main(String[] args) {
Date currentDate = new Date();
System.out.println("Tarikh dan masa semasa adalah: " + currentDate);
}
}

Apabila anda menjalankan kod ini, anda akan lihat seperti ini:

Tarikh dan masa semasa adalah: Rab Jun 16 15:30:45 EDT 2023

Kewl, kan? Kelas Date memberikan kepada kita rakam waktu atas masa ini. Ia seperti untuk mengambil rakam waktu cepat rakam waktu masa!

Perbandingan Tarikh

Sekarang bahwa kita boleh mendapatkan tarikh semasa, mari kita untuk belajar bagaimana untuk membandingkan tarikh. Ia berguna untuk memeriksa jika satu tarikh adalah sebelum atau selepas tarikh lain.

import java.util.Date;

public class DateComparison {
public static void main(String[] args) {
Date date1 = new Date();
Date date2 = new Date(date1.getTime() + 86400000); // Tambah 1 hari dalam milliseconds

if (date1.before(date2)) {
System.out.println("date1 adalah sebelum date2");
}

if (date2.after(date1)) {
System.out.println("date2 adalah selepas date1");
}

if (date1.equals(date2)) {
System.out.println("date1 adalah sama dengan date2");
}
}
}

Dalam contoh ini, kita untuk membuat dua rakam waktu Date. date2 adalah ditetapkan kepada satu hari selepas date1 (kita untuk menambah 86,400,000 milliseconds, yang adalah jumlah rakam waktu milliseconds dalam satu hari). Kemudian kita untuk menggunakan rakam waktu before(), after(), dan equals() untuk untuk membandingkan mereka.

Pemformatan Tarikh Menggunakan SimpleDateFormat

Output rakam waktu mentah tidak sentiasa cantik atau berguna. Itu di mana SimpleDateFormat untuk masuk. Ia seperti untuk makeup artist untuk rakam waktu anda, membuat mereka untuk nampak seperti yang anda untuk mahu!

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

public class DateFormatting {
public static void main(String[] args) {
Date currentDate = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(currentDate);
System.out.println("Tarikh yang diformat: " + formattedDate);
}
}

Ini akan output seperti ini:

Tarikh yang diformat: 2023-06-16 15:45:30

Banyak lebih cantik, kan? Rakam waktu "yyyy-MM-dd HH:mm:ss" adalah corak yang memberitahu SimpleDateFormat bagaimana untuk untuk format rakam waktu. Mari kita untuk kongkak ia:

  • yyyy: Empat rakam tahun
  • MM: Dua rakam bulan
  • dd: Dua rakam hari
  • HH: Jam dalam format 24-jam
  • mm: Minit
  • ss: Saat

Kode Format SimpleDateFormat

Ini adalah rakam waktu penyedia atas beberapa rakam waktu format umum:

Kode Format Keterangan Contoh
y Tahun 2023
M Bulan dalam tahun 07
d Hari dalam bulan 16
H Jam dalam hari (0-23) 15
m Minit dalam jam 45
s Saat dalam minit 30
E Nama hari dalam minggu Selasa
D Hari dalam tahun 167
w Minggu dalam tahun 24

Menghantar Rakam Waktu ke Tarikh

kadang-kadang, anda mungkin menerima rakam waktu sebagai rakam waktu dan perlu untuk mengubahkannya kepada rakam waktu Date. SimpleDateFormat juga boleh untuk membantu dengan ini!

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

public class DateParsing {
public static void main(String[] args) {
String dateString = "2023-06-16 15:45:30";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try {
Date date = formatter.parse(dateString);
System.out.println("Tarikh yang dihantar: " + date);
} catch (ParseException e) {
System.out.println("Ralat menghantar rakam waktu: " + e.getMessage());
}
}
}

Kod ini mengambil rakam waktu rakam waktu rakam waktu dan mengubahkannya kembali kepada rakam waktu Date. Ia seperti untuk rakam waktu, tetapi dengan lebih rakam waktu rakam waktu!

Mengukur Masa Berlalu

Katanya anda untuk untuk mengukur berapa lama sesuatu untuk mengambil. Java untuk membuat ini mudah:

public class ElapsedTime {
public static void main(String[] args) {
long start = System.currentTimeMillis();

// Simulasikan beberapa rakam waktu
for (int i = 0; i < 1000000; i++) {
Math.sqrt(i);
}

long end = System.currentTimeMillis();
long elapsed = end - start;

System.out.println("Masa diambil: " + elapsed + " milliseconds");
}
}

Kod ini untuk mengukur berapa lama ia untuk mengambil untuk untuk mengira rakam waktu rakam waktu rakam waktu dari 0 kepada 999,999. Ia seperti untuk menggunakan rakam waktu rakam waktu di atas rakam waktu anda!

Kelas GregorianCalendar

Untuk rakam waktu rakam waktu rakam waktu operasi, Java menyediakan rakam waktu GregorianCalendar kelas. Ia seperti untuk rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu rakam waktu

Credits: Image by storyset