Tässä ohjelmassa opit lisäämään kaksi päivämäärää Kotlinissa Kalenterin avulla.
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: Lisää kaksi päivämäärää
import java.util.Calendar fun main(args: Array) ( val c1 = Calendar.getInstance() val c2 = Calendar.getInstance() val cTotal = c1.clone() as Calendar 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)) println("$(c1.time) + $(c2.time) = $(cTotal.time)") )
Kun suoritat ohjelmaa, tulos on:
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ä kuukaudet alkavat 0: lla Kotlinissa.
Vaihtoehtoisesti voit käyttää Jodaa myös aika- / päivämäärätoimintoihin Kotlinissa.
Tässä on vastaava Java-koodi: Java-ohjelma kahden päivämäärän lisäämiseksi.