English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Grund教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java Ausnahmebehandlung

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序两个日期相加

Java Beispiele大全

在此程序中,您将学习使用Calendar在Java中两个日期相加。

因为Java纪元是1970年,所以Date对象表示的任何时间都不工作。这意味着,您的日期将从1970年开始,当两个日期对象相加时,总和将丢失大约1970年。所以,我们用Calendar代替。

示例:两个日期相加

import java.util.Calendar;
public class AddDates {
    public static void main(String[] args) {
        Calendar c1 = Calendar.getInstance();
        Calendar c2 = Calendar.getInstance();
        Calendar cTotal = (Calendar) c1clone();
        cTotal.add(Calendar.YEAR, c2.get(Calendar.YEAR));
        cTotal.add(Calendar.MONTH, c2.get(Calendar.MONTH) + 1); // 从零开始的月
        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());
    }
}

Wenn Sie das Programm ausführen, wird die Ausgabe sein:

Tue Aug 08 10:20:56 NPT 2017 + Tue Aug 08 10:20:56 NPT 2017 = Mon Apr 16 20:41:53 NPT 4035

im obigen Programm c1und c2den aktuellen Datum speichern. Dann klonen wir einfach c1und c2jede DateTime Eigenschaft nacheinander hinzugefügt.

Wie Sie sehen können, haben wir1Dies liegt daran, dass der Monat in Java ab 0 beginnt.

Java Beispiele大全