目录
Java 日期和时间计算加法和减法很容易。
用 Java 轻松实现计算日期和时间的加减运算。以下是一个演示此功能的示例程序。
该示例程序具有以下特点:
- 此函数返回从当前日期或任何给定的日期和时间加上或减去指定时间量的结果。
- 指定正数会使时间前进,指定负数会使时间后退。
例如,当前日期和时间之前的 10 天计算如果您选择这样做,请执行以下操作:
Calendar cal = addMonth(-10); - 您可以为每个时间字段设置任意时间量:年、月、日、小时、分钟、秒和毫秒。
此外,相对于指定时间计算如果这样做,请将 Calendar 类作为参数传递。
例如,以下命令会将指定日历实例中的日期向前推进一年。
Calendar cal = add(“指定日历”,1,0,0,0,0,0,0); - 如果任何时间字段的值超出其范围,则下一个较大的时间字段的值将递增或递减。
例如,以下命令会将当前时间推进 1 小时 5 分钟。
Calendar cal = addMinute(65);
示例程序
执行
在示例程序中,返回值为计算后你可以获取一个保存日期的 java.util.Calendar 对象,然后使用 java.util.Calendar#getTime() 方法将其转换为 java.util.Date,再使用 java.text.SimpleDateFormat 将其转换为日期字符串。
◆示例
public static void main(String[] args) {
SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println("現在 の日付・時刻 = "+ f.format(add(null,0,0,0,0,0,0,0).getTime()));
System.out.println("1年後 の日付・時刻 = "+ f.format(addYera(1).getTime()));
System.out.println("1ヶ月前 の日付・時刻 = "+ f.format(addMonth(-1).getTime()));
System.out.println("3時間後 の日付・時刻 = "+ f.format(addHour(3).getTime()));
System.out.println("30時間前の日付・時刻 = "+ f.format(addHour(-30).getTime()));
System.out.println("40分後 の日付・時刻 = "+ f.format(addMinute(40).getTime()));
System.out.println("80秒後 の日付・時刻 = "+ f.format(addSecond(80).getTime()));
System.out.println("1ヶ月前から、4日後の日付・時刻 = "+ f.format(add(null,0,-1,4,0,0,0,0).getTime()));
}
◆执行结果
当前日期和时间为 2008/03/25 00:00:00。
当前日期和时间 = 2008/03/25 00:00:00 一年后的日期和时间 = 2009/03/25 00:00:00 一个月前的日期和时间 = 2008/02/25 00:00:00 三小时后的日期和时间 = 2008/03/25 03:00:00 30 小时前的日期和时间 = 2008/03/23 18:00:00 40 分钟后的日期和时间 = 2008/03/25 00:40:00 80 秒后的日期和时间 = 2008/03/25 00:01:20 一个月后的第四天的日期和时间 = 2008/02/29 00:00:00
*因为 2008 年是闰年,所以 2 月的最后一天是 29 日。
此示例程序适用于 Chat&Messenger。日历和日程管理功能我确实在[这个语境中]使用它。
