In dit programma leer je twee datums in Java toe te voegen met Agenda.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-klasse en objecten
- Java-basisinvoer en -uitvoer
Aangezien het Java-tijdperk 1970 is, zal elk moment dat in een Date
object wordt weergegeven, niet werken. Dit betekent dat uw datums beginnen vanaf 1970 en wanneer er twee Date
objecten worden toegevoegd, loopt de som ongeveer 1970 jaar mis. Dus gebruiken we in Calendar
plaats daarvan.
Voorbeeld: Java-programma om twee datums toe te voegen
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()); ) )
Uitvoer
Di aug. 08 10:20:56 NPT 2017 + di aug. 08 10:20:56 NPT 2017 = ma 16 apr 20:41:53 NPT 4035
In het bovenstaande programma slaan c1 en c2 de huidige datum op. Vervolgens klonen we simpelweg c1 en voegen we c2's elke DateTime-eigenschappen achter elkaar toe.
Zoals u kunt zien, hebben we 1 bij de maanden opgeteld. Dit komt doordat maanden beginnen met 0 in Java.
Als alternatief kunt u Joda ook gebruiken voor tijd / datum-bewerkingen in Java.