Šioje programoje išmoksite pridėti dvi „Java“ datas naudodami Kalendorių.
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“ klasė ir objektai
- „Java“ pagrindinis įvestis ir išvestis
Kadangi „Java“ epocha yra 1970 m., Bet koks Date
objekte pavaizduotas laikas neveiks. Tai reiškia, kad jūsų Datos prasidės nuo 1970 m., O Date
pridėjus du objektus, suma praleidžiama maždaug 1970 m. Taigi, mes naudojame Calendar
vietoj to.
Pavyzdys: Java programa dviem datoms pridėti
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()); ) )
Rezultatas
Antradienis rugpjūčio 8 10:20:56 NPT 2017 + antradienis rugpjūčio 8 10:20:56 NPT 2017 = pirmadienis balandžio 16 20:41:53 NPT 4035
Pirmiau pateiktoje programoje c1 ir c2 išsaugo dabartinę datą. Tada mes tiesiog klonuojame c1 ir pridedame po c2 kiekvienos „DateTime“ ypatybės.
Kaip matote, prie mėnesių pridėjome 1. Taip yra todėl, kad „Java“ mėnesiai prasideda nuo 0.
Arba taip pat galite naudoti „Joda“ laiko ir datos operacijoms „Java“.