Tässä ohjelmassa opit lisäämään kaksi päivämäärää Java-sovellukseen Kalenterin avulla.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java-luokka ja objektit
- Java Basic -syöttö ja -lähtö
Koska Java-aikakausi on 1970, mikä tahansa Date
esineessä edustettu aika ei toimi. Tämä tarkoittaa, että päivämäärät alkavat vuodesta 1970 ja kun kaksi Date
kohdetta lisätään, summa menettää noin 1970 vuotta. Joten käytämme Calendar
sen sijaan.
Esimerkki: Java-ohjelma kahden päivämäärän lisäämiseksi
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()); ) )
Tuotos
Ti 8. elokuuta 10:20:56 NPT 2017 + ti 8. elokuuta 10:20:56 NPT 2017 = ma 16. huhtikuuta 20:41:53 NPT 4035
Edellä olevassa ohjelmassa c1 ja c2 tallentavat nykyisen päivämäärän. Sitten yksinkertaisesti kloonataan c1 ja lisätään c2: t kukin DateTime-ominaisuudet peräkkäin.
Kuten näette, olemme lisänneet kuukausiin yhden. Tämä johtuu siitä, että Java-kuukaudet alkavat 0: lla.
Vaihtoehtoisesti voit käyttää Jodaa myös aika / päivämääräoperaatioihin Java-käyttöjärjestelmässä.