Prinsip -prinsip desain di balik kelas tanggal dan waktu baru:
Kelas Immutable
Sebelum Java8, kelas tanggal semuanya dapat berubah. Ketika kami menggunakannya di lingkungan multithreaded, pemrogram harus mengkonfirmasi bahwa objek tanggal aman. API Tanggal dan Waktu Java8 menyediakan kelas immutable yang aman. Pemrogram tidak harus mempertimbangkan masalah konkurensi.
Metode Desain Berbasis Model Domain
Kategori tanggal dan waktu baru mengikuti "desain yang digerakkan domain". Mudah bagi pengembang untuk memahami fungsi metode dan kelas.
Selanjutnya mari kita lihat API Tanggal dan Waktu yang baru:
1.java.time.localDate:
LocalDate hanya memberikan tanggal tetapi bukan informasi waktu. Imablow dan aman-aman.
package org.smarttechie;import java.time.LocalDate;import java.time.temporal.ChronoUnit;/*** This class demonstrates JAVA 8 data and time API* @author Siva Prasad Rao Janapati* */public class DateTimeDemonstration {/*** @param args*/public static void main(String[] args) { //Create date LocalDate localDate = localdate.now (); System.out.println ("Tanggal lokal adalah ::" + LocalDate); // Temukan lamanya bulan ini. Artinya, berapa hari untuk bulan ini. System.out.println ("Jumlah hari yang tersedia untuk bulan ini ::" + localdate.lengthofmonth ()); // Tahu nama bulan System.out.println ("Apa nama bulan? ::" + localdate.getMonth (). Name ()); // Tambahkan 2 hari ke tanggal hari ini. System.out.println (localdate.plus (2, chroneunit.days)); // Kurangi 2 hari dari hari ini System.out.println (localdate.minus (2, chroneunit.days)); // Konversi string ke date system.out.println (localdate.parse ("2017-04-07")); }}2.java.time.localtime:
LocalTime hanya menyediakan informasi waktu dan bukan tanggal, itu tidak dapat diubah dan aman.
package org.smarttechie;import java.time.LocalTime;import java.time.temporal.ChronoUnit;/*** This class demonstrates JAVA 8 data and time API* @author Siva Prasad Rao Janapati* */public class DateTimeDemonstration {/*** @param args*/public static void main(String[] args) { //Get local time LocalTime localtime = localtime.now (); System.out.println (LocalTime); // Dapatkan jam hari System.out.println ("The Hour of the Day ::" + LocalTime.getHour ()); // Tambahkan 2 jam ke waktu. System.out.println (localtime.plus (2, chroneunit.hours)); // Tambahkan 6 menit ke waktu. System.out.println (localtime.plusminutes (6)); // kurangi 2 jam dari waktu saat ini.out.println (localtime.minus (2, chroneunit.hours)); }}3. java.time.localdateTime:
LocalDateTime memberikan informasi tentang waktu dan tanggal, tidak dapat diubah dan aman
Paket orr.smarttechie; import java.time.localdateTime; import java.time.temporal.chronounit;/*** Kelas ini menunjukkan java 8 data dan waktu API*@author siva prasad rao Janapati **/public class dateTimedeMonstration {/*** @param) void publicing **/public dateTimedeMonstration {/*** @param) void publicing **/public dateTimeDeMonstration {/*** @param {publicatic Objek LocalDateTime localDateTime localDateTime = localDateTime.now (); System.out.println (localDateTime); // Temukan lamanya bulan. Artinya, berapa hari untuk bulan ini. System.out.println ("Jumlah hari yang tersedia untuk bulan ini ::" + localDateTime.getMonth (). Length (true)); // Tahu nama bulan System.out.println ("Apa nama bulan? ::" + localDateTime.getMonth (). Name ()); // Tambahkan 2 hari ke tanggal hari ini. System.out.println (localDateTime.plus (2, chroneunit.days)); // Kurangi 2 hari dari hari ini System.out.println (localDateTime.minus (2, chronounit.days)); }} 4.java.time.ear:
Tahun memberikan informasi tentang tahun ini, tidak dapat diubah dan aman.
Paket orr.smarttechie; import java.time.ear; import java.time.temporal.chronounit;/*** Kelas ini menunjukkan java 8 data dan waktu API*@author siva prasad rao janapati **/public class dateTimedemonstration {/*** @param {public class/public dateTimedemonstration {/*** @param arget/public dateTimedeMonstration {/*** @param argeRy Year.now (); System.out.println ("Tahun ::" + Tahun); // Ketahui tahun ini adalah tahun lompatan atau tidak, System.out.println ("adalah tahun lompatan tahun ["+tahun+"]?"+Tahun.isleap ()); }}5. java.time.durasi:
Durasi digunakan untuk menghitung berapa detik dan berapa milidetik yang terkandung antara dua tanggal yang diberikan. Imablow dan aman-aman.
6. java.time.period:
Periode digunakan untuk menghitung berapa hari, bulan atau tahun dimasukkan antara dua tanggal yang diberikan. Imablow dan aman-aman.
Paket orr.smarttechie; import java.time.localDate; impor java.time.period; impor java.time.temporal.chronounit;/*** Kelas ini menunjukkan data java 8 public @author @author @author @aTam (public, args) {localDate localDate = localDate.now (); Periode periode = periode. System.out.println (periode.getdays ()); }}