Video: Genetik 101: SNP Nedir? (2. Bölüm) (Biyoloji) 2024
Java'nın yerleşik karşılaştırma operatörlerini tarihlerle birlikte kullanamayacağınız gibi yerleşik matematiksel operatörleri de kullanamazsınız. Bunun yerine, çeşitli
artı
ve
eksi
yöntemlerini kullanarak tarihlerde ekleme ve çıkarma gerçekleştirebilir ve
-
yöntemini kullanarak iki tarih arasındaki farkı belirleyebilirsiniz.
Tarih ve saat hesaplamaları yapılırken dikkate alınması gereken önemli bir nokta, Date-Time nesnelerinin değişmez olmasıdır. Bu, bir Date-Time nesnesi oluşturduktan sonra değerini değiştiremezsiniz demektir. Bir Date-Time nesnesinde bir hesaplama gerçekleştirdiğinizde, sonuç yeni bir değere sahip yeni bir Date-Time nesnesidir.
artı
ve
eksi
yöntemleri, bir Tarih-Saat nesnesine çeşitli tarih ve saat birimleri eklemenize izin verir.
LocalDate
nesnesine yıllar, aylar, haftalar ve günler ekleyip çıkartmanıza izin veren
LocalDate
sınıfı için her birinin dört değişkeni vardır. Aşağıdaki kod, geçerli tarihi, yarının tarihini ve şu andan itibaren bir hafta, bir ay ve bir yılı yazdırır:
Sistem. dışarı. println ("Bugün": + LocalDate. now ());
Sistem. dışarı. println ("Yarın:" + LocalDate. now (). artı Günler (1));
Sistem. dışarı. println ("Sonraki hafta:" + LocalDate. now (). plusWeeks (1));
Sistem. dışarı. println ("Gelecek ay:" + LocalDate. now (). plusMonths (1));
Sistem. dışarı. println ("Gelecek sene:" + LocalDate. now (). plusYears (1));
İki tarih arasındaki farkı belirlemek için
-
yöntemini kullanın. Bir tarih ve ilk parametre olarak geçen tarih arasındaki farkı, ikinci parametrenin gösterdiği birimler cinsinden ölçerek hesaplar. Örneğin, aşağıdaki kod 16 Mayıs 2014 ile 15 Aralık 2014 tarihleri arasındaki gün sayısını belirler:
LocalDate date1 = LocalDate. Ayrıştırma (“2014/05/16”);
LocalDate date2 = LocalDate. Ayrıştırma (“2014/12/15”);
Sistem. dışarı. println (tarih1. until (date2, KronoUnit.GÜN));
Bazı tarih hesaplamaları biraz daha karmaşık olabilir. Örneğin, her ayın 15'inde faturalar hazırlayan bir iş düşünün. Aşağıdaki kod snippet'i, geçerli tarihe kadar bir sonraki faturalandırma tarihine kadar geçen gün sayısını görüntüler:
LocalDate today = LocalDate. Şimdi ();
LocalDate invDate = YerelDeate. of (bugün getYear (),
) getMonthValue (), 15);
if (bugün. GetDayOfMonth ()> 15)
invDate = invDate. plusMonths (1);
uzun günToVoice = bugün. (invDate,
ChronoUnit.GÜN) tarihine kadar;
Sistem. dışarı. println (daysToInvoice
+ "sonraki fatura tarihinden kadar.“);
Bu örnek, önce geçerli tarihi alıp, ardından o ayın 15'ini temsil eden yeni bir
LocalDate
nesnesi oluşturarak çalışır. Ardından, ayın geçerli günü 15'ten büyükse faturalandırma tarihine bir ay eklenir. Başka bir deyişle, 16 ya da daha sonra ise faturalandırma, bu ayın değil, 999'dan sonraki ayın 15'inde gerçekleşir. Sonra, geçerli tarih ile bir sonraki fatura tarihi arasındaki gün sayısını belirlemek için ~
yöntemini kullanır.
ChronoUnit
, tarih ve saat hesaplamalarında kullanılabilecek çeşitli zaman birimlerini tanımlayan bir numaralandırmadır. Olası değerler:
CENTURIES
GÜN
YÜZLER
ERAS
YAŞI
YARIM GÜN
SAAT
MİKRO
MİLENYUM
MİLLİS
DAKİKA
AY
NANOS
SANİYE
HAFTA
YIL
Bunların çoğu öz açıklayıcıdır, ancak ikisi biraz tuhaf:
ERA
-
tarih, Ortak Çağa (CE, ayrıca AD olarak bilinir) veya Before Era'ya (M.Ö. olarak da bilinir) işaret eder.
FOREVER -
süre olarak temsil edilebilecek en büyük değeri temsil eder. Maalesef, Java sonsuza kadar yaşamanıza izin vermez. Aşağıdaki kod bir istisna atar:
LocalDate birthday = LocalDate. (“1959-05-16) ayrıştırmak;
doğum günü = doğum günün kutlu olsun. artı (1, KronoUnit FOREVER);
ChronoUni
t'nin
java'da olduğunu unutmayın. zaman. temporal
paketine sahip olduğundan, aşağıdaki ifadeyi
ChronoUnit
:
import java kullanan herhangi bir programın başına ekleyin. zaman. geçici. *;