Bu programda, Takvim kullanarak Java'da iki tarih eklemeyi öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Sınıfı ve Nesneleri
- Java Temel Giriş ve Çıkışı
Java dönemi 1970 olduğundan, bir Date
nesnede temsil edilen herhangi bir zaman çalışmayacaktır. Bu, Tarihlerinizin 1970'ten başlayacağı ve iki Date
nesne eklendiğinde, toplamın yaklaşık 1970 yıllarında kaybolacağı anlamına gelir . Yani Calendar
bunun yerine kullanıyoruz.
Örnek: İki tarih eklemek için Java programı
import java.util.Calendar; public class AddDates ( public static void main(String() args) ( Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); Calendar cTotal = (Calendar) c1.clone(); cTotal.add(Calendar.YEAR, c2.get(Calendar.YEAR)); cTotal.add(Calendar.MONTH, c2.get(Calendar.MONTH) + 1); // Zero-based months cTotal.add(Calendar.DATE, c2.get(Calendar.DATE)); cTotal.add(Calendar.HOUR_OF_DAY, c2.get(Calendar.HOUR_OF_DAY)); cTotal.add(Calendar.MINUTE, c2.get(Calendar.MINUTE)); cTotal.add(Calendar.SECOND, c2.get(Calendar.SECOND)); cTotal.add(Calendar.MILLISECOND, c2.get(Calendar.MILLISECOND)); System.out.format("%s + %s = %s", c1.getTime(), c2.getTime(), cTotal.getTime()); ) )
Çıktı
Sal Ağustos 08 10:20:56 NPT 2017 + Sal Ağustos 08 10:20:56 NPT 2017 = 16 Nisan Pzt 20:41:53 NPT 4035
Yukarıdaki programda c1 ve c2 güncel tarihi kaydeder. Ardından, c1'i klonlarız ve c2'lerin her DateTime özelliğini birbiri ardına ekleriz.
Gördüğünüz gibi aylara 1 ekledik. Bunun nedeni, Java'da ayların 0 ile başlamasıdır.
Alternatif olarak, Joda'yı Java'da saat / tarih işlemleri için de kullanabilirsiniz.