菜单

Java 日期和时间计算 加法和减法变得简单

目录

Java 日期和时间计算 加减法变得简单

 轻松使用 Java计算日期和时间的加减法下面的示例程序就是这样做的。
样本计划的特点如下。

  • 返回当前日期/时间或任意日期/时间加上或减去指定时间的结果。
  • 如果指定的是正数,则时间前进;如果指定的是负数,则时间后退。
    例如,当前日期时间前 10 天。计算如果是这样,则适用以下规定。
    Calendar cal = addMonth(-10);.
  • 年、月、日、小时、分钟、秒和毫秒时间字段可设置任意时间量。
    此外,相对于指定时间计算如果需要,可将日历类作为参数传递。
    例如,以下内容将从给定的日历实例向前推进一年。
    Calendar cal = add("指定日历",1,0,0,0,0,0,0);
  • 如果每个时间字段的值超出其范围,下一个较大的时间字段将递增或递减。
    例如,下面的命令会将当前时间提前一小时零五分钟。
    Calendar cal = addMinute(65);.


示例程序


执行

 在示例程序中,返回值为计算后日历对象,它保存日期的日期,因此可以通过 java.util.Calendar#getTime() 方法转换为 java.util.Date,然后再通过 java.text.SimpleDateFormat 转换为 java.util.Date。转换为日期字符串。

执行示例

public static void main(String[] args) {

SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");.
System.out.println("Current date/time = " + f.format(add(null,0,0,0,0,0,0,0,0).getTime());
System.out.println("1 年后的日期/时间 = "+ f.format(addYera(1).getTime())));
System.out.println("一个月前的日期/时间 = "+ 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,0).getTime())));

}

执行结果
当前日期和时间为 25/03/2008:00:00:00。

当前日期/时间 = 25/03/2008 00:00:00
一年后的日期/时间 = 2009/03/25 00:00:00
一个月前的日期和时间 = 2008/02/25 00:00:00
3 小时后的日期/时间 = 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
一个月前 4 天后的日期/时间 = 2008/02/29 00:00:00

*因为 2008 年是闰年,所以 2 月的结束日期是 29 日。

该示例程序来自 Chat&Messenger 的 "日历和日程安排功能该系统实际用于以下领域。

  • URLをコピーしました!
目录