Šajā programmā jūs iemācīsities pievienot divus datumus Java, izmantojot Kalendāru.
Lai saprastu šo piemēru, jums jāpārzina šādas Java programmēšanas tēmas:
- Java klase un objekti
- Java pamata ievade un izvade
Tā kā Java laikmets ir 1970. gads, jebkurš Date
objekta pārstāvētais laiks nedarbosies. Tas nozīmē, ka jūsu datumi sāksies no 1970. gada, un, Date
pievienojot divus objektus, summa nokavēs apmēram 1970 gadus. Tātad, mēs to izmantojam Calendar
.
Piemērs: Java programma, lai pievienotu divus datumus
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()); ) )
Rezultāts
Otrdiena, 8. augusts, 10:20:56, 2017. gada NPT + otrdien, 8. augusts, 10:20:56, NPT, 2017 = pirmdiena, 16. aprīlis 20:41:53, NPT 4035
Iepriekš minētajā programmā c1 un c2 saglabā pašreizējo datumu. Pēc tam mēs vienkārši klonējam c1 un pēc kārtas pievienojam c2 katru DateTime rekvizītu.
Kā redzat, mēnešiem esam pievienojuši 1. Tas ir tāpēc, ka Java mēneši sākas ar 0.
Varat arī izmantot Joda laika / datuma operācijām Java.