Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Java - Tanggal dan Waktu

Java menyediakan Tanggal kelas tersedia di java.util paket, kelas ini merangkum tanggal dan waktu saat ini.

Kelas Date mendukung dua konstruktor seperti yang ditunjukkan pada tabel berikut.

No.Pr. Konstruktor &Deskripsi
1

Tanggal( )

Konstruktor ini menginisialisasi objek dengan tanggal dan waktu saat ini.

2

Tanggal(milidetik panjang)

Konstruktor ini menerima argumen yang sama dengan jumlah milidetik yang telah berlalu sejak tengah malam, 1 Januari 1970.

Berikut ini adalah metode kelas tanggal.

No.Pr. Metode &Deskripsi
1

boolean setelah(Tanggal tanggal)

Mengembalikan nilai true jika objek Date yang dipanggil berisi tanggal yang lebih lambat dari tanggal yang ditentukan berdasarkan tanggal, jika tidak, ia mengembalikan false.

2

boolean sebelum(Tanggal tanggal)

Mengembalikan nilai true jika objek Date memanggil berisi tanggal yang lebih awal dari tanggal yang ditentukan berdasarkan tanggal, jika tidak, mengembalikan false.

3

Klon objek ( )

Menduplikasi objek Date yang dipanggil.

4

int compareTo(Tanggal tanggal)

Membandingkan nilai objek pemanggil dengan tanggal. Mengembalikan 0 jika nilainya sama. Mengembalikan nilai negatif jika objek yang dipanggil lebih awal dari tanggal. Mengembalikan nilai positif jika objek pemanggil lebih lama dari tanggal.

5

int compareTo(Object obj)

Beroperasi secara identik dengan compareTo(Date) jika obj adalah kelas Date. Jika tidak, ia akan melempar ClassCastException.

6

boolean sama dengan(Tanggal objek)

Mengembalikan nilai true jika objek Date yang dipanggil berisi waktu dan tanggal yang sama dengan yang ditentukan berdasarkan tanggal, jika tidak, ia mengembalikan false.

7

waktu yang lama ( )

Mengembalikan jumlah milidetik yang telah berlalu sejak 1 Januari 1970.

8

int kode hash()

Mengembalikan kode hash untuk objek pemanggilan.

9

void setTime(lama)

Menyetel waktu dan tanggal seperti yang ditentukan oleh waktu, yang menunjukkan waktu yang telah berlalu dalam milidetik mulai tengah malam, 1 Januari 1970.

10

String toString()

Mengonversi objek Tanggal pemanggilan menjadi string dan mengembalikan hasilnya.

Mendapatkan Tanggal dan Waktu Saat Ini

Ini adalah metode yang sangat mudah untuk mendapatkan tanggal dan waktu saat ini di Jawa. Anda dapat menggunakan objek Date sederhana dengan toString() metode untuk mencetak tanggal dan waktu saat ini sebagai berikut

Contoh

Demo Langsung
import java.util.Date;
public class DateDemo {

   public static void main(String args[]) {
      // Instantiate a Date object
      Date date = new Date();

      // display time and date using toString()
      System.out.println(date.toString());
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

on May 04 09:51:52 CDT 2009

Perbandingan Tanggal

Berikut adalah tiga cara untuk membandingkan dua tanggal

Pemformatan Tanggal Menggunakan SimpleDateFormat

SimpleDateFormat adalah kelas konkret untuk memformat dan mengurai tanggal dengan cara yang peka terhadap lokal. SimpleDateFormat memungkinkan Anda memulai dengan memilih pola yang ditentukan pengguna untuk pemformatan tanggal-waktu.

Contoh

Demo Langsung
import java.util.*;
import java.text.*;

public class DateDemo {

   public static void main(String args[]) {
      Date dNow = new Date( );
      SimpleDateFormat ft = 
      new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

      System.out.println("Current Date: " + ft.format(dNow));
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

Kode Format DateFormat Sederhana

Untuk menentukan format waktu, gunakan string pola waktu. Dalam pola ini, semua huruf ASCII dicadangkan sebagai huruf pola, yang didefinisikan sebagai berikut −

Karakter Deskripsi Contoh
G Penanda era IKLAN
y Tahun dalam empat digit 2001
M Bulan dalam setahun Juli atau 07
d Hari dalam sebulan 10
h Jam di A.M./P.M. (1~12) 12
H Jam dalam sehari (0~23) 22
m Menit dalam jam 30
s Detik dalam satu menit 55
S Milidetik 234
E Hari dalam seminggu Selasa
D Hari dalam setahun 360
B Hari dalam seminggu dalam sebulan 2 (Rabu kedua di bulan Juli)
w Minggu dalam setahun 40
S Minggu dalam sebulan 1
a A.M./P.M. penanda PM
k Jam dalam sehari (1~24) 24
K Jam di A.M./P.M. (0~11) 10
z Zona waktu Waktu Standar Timur
' Melarikan diri untuk teks Pembatas
" Kutipan tunggal `

Pemformatan Tanggal Menggunakan printf

Pemformatan tanggal dan waktu dapat dilakukan dengan sangat mudah menggunakan printf metode. Anda menggunakan format dua huruf, dimulai dengan t dan diakhiri dengan salah satu huruf dari tabel seperti yang ditunjukkan pada kode berikut.

Contoh

Demo Langsung
import java.util.Date;
public class DateDemo {

   public static void main(String args[]) {
      // Instantiate a Date object
      Date date = new Date();

      // display time and date
      String str = String.format("Current Date/Time : %tc", date );

      System.out.printf(str);
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Current Date/Time : Sat Dec 15 16:37:57 MST 2012

Akan sedikit konyol jika Anda harus memberikan tanggal beberapa kali untuk memformat setiap bagian. Oleh karena itu, string format dapat menunjukkan indeks argumen yang akan diformat.

Indeks harus segera mengikuti % dan harus diakhiri dengan $.

Contoh

Demo Langsung
import java.util.Date;
public class DateDemo {

   public static void main(String args[]) {
      // Instantiate a Date object
      Date date = new Date();
  
      // display time and date
      System.out.printf("%1$s %2$tB %2$td, %2$tY", "Due date:", date);
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Due date: February 09, 2004

Atau, Anda dapat menggunakan tanda <. Ini menunjukkan bahwa argumen yang sama seperti pada spesifikasi format sebelumnya harus digunakan lagi.

Contoh

Demo Langsung
import java.util.Date;
public class DateDemo {

   public static void main(String args[]) {
      // Instantiate a Date object
      Date date = new Date();
  
      // display formatted date
      System.out.printf("%s %tB %<te, %<tY", "Due date:", date);
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Due date: February 09, 2004

Karakter Konversi Tanggal dan Waktu

Karakter Deskripsi Contoh
c Selesaikan tanggal dan waktu Senin 04 Mei 09:51:52 CDT 2009
B Tanggal ISO 8601 04-02-09
D AS format tanggal (bulan/hari/tahun) 02/09/2004
T waktu 24 jam 18:05:19
r waktu 12 jam 06:05:19 sore
R waktu 24 jam, tidak ada detik 18:05
Y Tahun empat digit (dengan angka nol di depan) 2004
y Dua digit terakhir tahun ini (dengan angka nol di depan) 04
C Dua digit pertama tahun ini (dengan angka nol di depan) 20
B Nama bulan lengkap Februari
b Nama bulan disingkat Feb
m Dua digit bulan (dengan angka nol di depan) 02
d Hari dua digit (dengan angka nol di depan) 03
e Dua digit hari (tanpa awalan nol) 9
A Nama lengkap hari kerja Senin
a Singkat nama hari kerja Senin
j Tiga digit hari dalam setahun (dengan angka nol di depan) 069
H Dua digit jam (dengan angka nol di depan), antara 00 dan 23 18
k Dua digit jam (tanpa nol di depan), antara 0 dan 23 18
Saya Dua digit jam (dengan angka nol di depan), antara 01 dan 12 06
l Dua digit jam (tanpa nol di depan), antara 1 dan 12 6
M Dua digit menit (dengan angka nol di depan) 05
S Dua digit detik (dengan angka nol di depan) 19
L Tiga digit milidetik (dengan angka nol di depan) 047
N Sembilan digit nanodetik (dengan nol di depan) 047000000
P Penanda pagi atau sore huruf besar PM
p Penanda pagi atau sore dengan huruf kecil pm
z Offset numerik RFC 822 dari GMT -0800
Z Zona waktu PST
s Detik sejak 1970-01-01 00:00:00 GMT 1078884319
T Milidetik sejak 01-01 1970 00:00:00 GMT 1078884319047

Ada kelas berguna lainnya yang terkait dengan Tanggal dan waktu. Untuk detail lebih lanjut, Anda dapat merujuk ke dokumentasi Java Standard.

Mengurai String menjadi Tanggal

Kelas SimpleDateFormat memiliki beberapa metode tambahan, terutama parse(), yang mencoba mengurai string sesuai dengan format yang disimpan dalam objek SimpleDateFormat yang diberikan.

Contoh

Demo Langsung
import java.util.*;
import java.text.*;
  
public class DateDemo {

   public static void main(String args[]) {
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); 
      String input = args.length == 0 ? "1818-11-11" : args[0]; 

      System.out.print(input + " Parses as "); 
      Date t;
      try {
         t = ft.parse(input); 
         System.out.println(t); 
      } catch (ParseException e) { 
         System.out.println("Unparseable using " + ft); 
      }
   }
}

Contoh menjalankan program di atas akan menghasilkan hasil berikut

Keluaran

1818-11-11 Parses as Wed Nov 11 00:00:00 EST 1818

Tidur sebentar

Anda dapat tidur untuk jangka waktu berapa pun mulai dari satu milidetik hingga masa pakai komputer Anda. Misalnya, program berikut akan tidur selama 3 detik

Contoh

Demo Langsung
import java.util.*;
public class SleepDemo {

   public static void main(String args[]) {
      try { 
         System.out.println(new Date( ) + "\n"); 
         Thread.sleep(5*60*10); 
         System.out.println(new Date( ) + "\n"); 
      } catch (Exception e) {
         System.out.println("Got an exception!"); 
      }
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Sun May 03 18:04:41 GMT 2009
Sun May 03 18:04:51 GMT 2009

Mengukur Waktu yang Berlalu

Terkadang, Anda mungkin perlu mengukur titik waktu dalam milidetik. Jadi mari kita tulis ulang contoh di atas sekali lagi

Contoh

Demo Langsung
import java.util.*;
public class DiffDemo {

   public static void main(String args[]) {
      try {
         long start = System.currentTimeMillis( );
         System.out.println(new Date( ) + "\n");
         
         Thread.sleep(5*60*10);
         System.out.println(new Date( ) + "\n");
         
         long end = System.currentTimeMillis( );
         long diff = end - start;
         System.out.println("Difference is : " + diff);
      } catch (Exception e) {
         System.out.println("Got an exception!");
      }
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Sun May 03 18:16:51 GMT 2009
Sun May 03 18:16:57 GMT 2009
Difference is : 5993

Kelas Kalender Gregorian

GregorianCalendar adalah implementasi konkret dari kelas Kalender yang mengimplementasikan kalender Gregorian normal yang sudah Anda kenal. Kami tidak membahas kelas Kalender dalam tutorial ini, Anda dapat mencari dokumentasi Java standar untuk ini.

getInstance() metode Kalender mengembalikan GregorianCalendar yang diinisialisasi dengan tanggal dan waktu saat ini di lokal dan zona waktu default. GregorianCalendar mendefinisikan dua bidang:AD dan BC. Ini mewakili dua era yang ditentukan oleh kalender Gregorian.

Ada juga beberapa konstruktor untuk objek GregorianCalendar −

No.Pr. Konstruktor &Deskripsi
1

GregorianCalendar()

Membuat GregorianCalendar default menggunakan waktu saat ini di zona waktu default dengan lokal default.

2

GregorianCalendar(int tahun, int bulan, int tanggal)

Membuat GregorianCalendar dengan tanggal tertentu yang ditetapkan dalam zona waktu default dengan lokal default.

3

GregorianCalendar(int tahun, int bulan, int tanggal, int jam, int menit)

Membuat GregorianCalendar dengan tanggal dan waktu yang ditentukan untuk zona waktu default dengan lokal default.

4

GregorianCalendar(int tahun, int bulan, int tanggal, int jam, int menit, int detik)

Membuat GregorianCalendar dengan tanggal dan waktu yang ditentukan untuk zona waktu default dengan lokal default.

5

Kalender Gregorian(Lokal Lokal)

Membuat GregorianCalendar berdasarkan waktu saat ini di zona waktu default dengan lokal yang diberikan.

6

Kalender Gregorian(Zona Waktu)

Membuat GregorianCalendar berdasarkan waktu saat ini di zona waktu tertentu dengan lokal default.

7

GregorianCalendar(Zona Waktu, Lokal Lokal)

Membuat GregorianCalendar berdasarkan waktu saat ini di zona waktu tertentu dengan lokal tertentu.

Berikut adalah daftar beberapa metode dukungan berguna yang disediakan oleh kelas GregorianCalendar −

No.Pr. Metode &Deskripsi
1

void add(int field, int amount)

Menambahkan jumlah waktu yang ditentukan (ditandatangani) ke bidang waktu tertentu, berdasarkan aturan kalender.

2

melindungi void computeFields()

Mengonversi UTC sebagai milidetik ke nilai bidang waktu.

3

dilindungi void computeTime()

Mengganti Kalender Mengonversi nilai bidang waktu ke UTC sebagai milidetik.

4

boolean sama dengan(Objek objek)

Membandingkan GregorianCalendar ini dengan referensi objek.

5

int get(bidang int)

Mendapatkan nilai untuk bidang waktu tertentu.

6

int getActualMaximum(bidang int)

Mengembalikan nilai maksimum yang dapat dimiliki bidang ini, berdasarkan tanggal saat ini.

7

int getActualMinimum(bidang int)

Mengembalikan nilai minimum yang dapat dimiliki bidang ini, berdasarkan tanggal saat ini.

8

int getGreatestMinimum(int field)

Mengembalikan nilai minimum tertinggi untuk bidang yang diberikan jika bervariasi.

9

Tanggal getGregorianChange()

Mendapatkan tanggal perubahan Kalender Gregorian.

10

int getLeastMaximum(bidang int)

Mengembalikan nilai maksimum terendah untuk bidang yang diberikan jika bervariasi.

11

int getMaximum(bidang int)

Mengembalikan nilai maksimum untuk bidang yang diberikan.

12

Tanggal getTime()

Mendapatkan waktu Kalender ini saat ini.

13

getTimeInMillis()

Mendapatkan waktu saat Kalender ini selama.

14

TimeZone getTimeZone()

Mendapatkan zona waktu.

15

int getMinimum(bidang int)

Mengembalikan nilai minimum untuk bidang yang diberikan.

16

int kode hash()

Mengganti kode hash.

17

boolean isLeapYear(int tahun)

Menentukan apakah tahun tertentu adalah tahun kabisat.

18

void roll(int field, boolean up)

Menambah atau mengurangi (naik/turun) satu unit waktu pada bidang waktu tertentu tanpa mengubah bidang yang lebih besar.

19

void set(bidang int, nilai int)

Menyetel bidang waktu dengan nilai yang diberikan.

20

Void set(int tahun, int bulan, int tanggal)

Menyetel nilai untuk bidang tahun, bulan, dan tanggal.

21

Void set(int tahun, int bulan, int tanggal, int jam, int menit)

Menyetel nilai untuk bidang tahun, bulan, tanggal, jam, dan menit.

22

Void set(int tahun, int bulan, int tanggal, int jam, int menit, int detik)

Menyetel nilai untuk bidang tahun, bulan, tanggal, jam, menit, dan detik.

23

void setGregorianChange(Tanggal tanggal)

Menyetel tanggal perubahan GregorianCalendar.

24

void setTime(Tanggal tanggal)

Menyetel waktu saat ini Kalender ini dengan Tanggal yang diberikan.

25

void setTimeInMillis(milis panjang)

Menyetel waktu saat ini Kalender ini dari nilai panjang yang diberikan.

26

membatalkan setTimeZone(nilai TimeZone)

Menyetel zona waktu dengan nilai zona waktu yang diberikan.

27

String toString()

Mengembalikan representasi string dari kalender ini.

Contoh

Demo Langsung
import java.util.*;
public class GregorianCalendarDemo {

   public static void main(String args[]) {
      String months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", 
         "Oct", "Nov", "Dec"};
      
      int year;
      // Create a Gregorian calendar initialized
      // with the current date and time in the
      // default locale and timezone.
      
      GregorianCalendar gcalendar = new GregorianCalendar();
      
      // Display current time and date information.
      System.out.print("Date: ");
      System.out.print(months[gcalendar.get(Calendar.MONTH)]);
      System.out.print(" " + gcalendar.get(Calendar.DATE) + " ");
      System.out.println(year = gcalendar.get(Calendar.YEAR));
      System.out.print("Time: ");
      System.out.print(gcalendar.get(Calendar.HOUR) + ":");
      System.out.print(gcalendar.get(Calendar.MINUTE) + ":");
      System.out.println(gcalendar.get(Calendar.SECOND));

      // Test if the current year is a leap year
      if(gcalendar.isLeapYear(year)) {
         System.out.println("The current year is a leap year");
      }else {
         System.out.println("The current year is not a leap year");
      }
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Date: Apr 22 2009
Time: 11:25:27
The current year is not a leap year

Untuk daftar lengkap konstanta yang tersedia di kelas Kalender, Anda dapat merujuk ke dokumentasi Java standar.


java

  1. C# Kelas dan Objek
  2. Bagaimana cara mendapatkan tanggal dan waktu saat ini dengan Python?
  3. Variabel dan Literal Java
  4. Ekspresi, Pernyataan, dan Blok Java
  5. Kelas dan Objek Java
  6. Kelas Abstrak Java dan Metode Abstrak
  7. Java Nested dan Kelas Dalam
  8. Kelas Tunggal Jawa
  9. Lemparan Jawa
  10. Autoboxing dan unboxing Java