Java如何滚动几个小时和几个月?

在Java中,如何滚动几个小时和几个月?

本示例展示了如何使用calender类的roll()方法滚动月(不改变年)或小时(不更改月或年)。

package com.yiibai;

import java.text.SimpleDateFormat; import java.util.*; public class RollHoursMonths { public static void main(String[] args) throws Exception { Date curDate = new Date(); Calendar cl = Calendar.getInstance(); cl.setTime(curDate); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String DateToStr = format.format(cl.getTime()); System.out.println("当前时间:" + DateToStr); // 12个月后的时间 cl.setTime(curDate); cl.roll(Calendar.MONTH, 2); SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String DateToStr2 = format2.format(cl.getTime()); System.out.println("当前时间加上12个月后的时间:" + DateToStr2); // 10个小时后的时间 cl.setTime(curDate); cl.roll(Calendar.HOUR, 1); SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String DateToStr3 = format3.format(cl.getTime()); System.out.println("当前时间加上10小时后的时间:" + DateToStr3); } } 
Java

上述代码示例将产生以下结果,结果将根据当前系统时间而有变化。

当前时间:2017-09-17 10:03:01
当前时间加上12个月后的时间:2017-11-17 10:03:01
当前时间加上10小时后的时间:2017-09-17 11:03:01
Shell

注意:上述时间超过时间最大值不会进位,比如:小时最大表示为12,大于12使用从0开始表示。

示例-2

以下是滚动月份的另一个例子。

package com.yiibai;
import java.text.SimpleDateFormat; import java.util.Calendar; public class RollHoursMonths2 { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println("Time:" + cal.getTime()); cal.roll(Calendar.YEAR, false); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String DateToStr = format.format(cal.getTime()); System.out.println("向上滚下1年:" + DateToStr); cal.roll(Calendar.HOUR, true); SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String DateToStr2 = format2.format(cal.getTime()); System.out.println("向上滚动1小时: " + DateToStr2); } } 
Java

上述代码示例将产生以下结果 -

Time:Sun Sep 17 22:10:07 BOT 2017
向上滚下1年:2016-09-17 10:10:07
向上滚动1小时: 2016-09-17 11:10:07

猜你喜欢

转载自www.cnblogs.com/borter/p/9613416.html