如何在 Java 中滚动小时和月份
Calendar 类提供 roll() 方法 来调整日期或时间,而无需更改 Java 中的更高字段。例如,您可以滚动月份或小时,同时保持日期的其他部分不变。以下是我们将要实现的不同示例 -
滚动月份和小时
滚动年份和小时
滚动月份和小时
Calendar 类:提供用于操作日期和时间的方法的类。它允许您执行诸如添加、减去或滚动日期和时间之类的操作。
roll() 方法: Calendar 类中的 roll() 方法 会调整指定字段(例如,月份、小时),而不会影响其他字段,例如年份或日期。
步骤
滚动月份和小时的步骤如下:
步骤 1. 创建 Date 对象:初始化 Date 对象以存储当前日期和时间。
Date d1 = new Date();
步骤 2. 创建 Calendar 实例:使用 Calendar 类创建表示当前日期的实例。
Calendar cl = Calendar.getInstance();
步骤 3. 将 Calendar 时间设置为 Date 对象:将 Calendar 对象的时间设置为 Date 对象。
cl.setTime(d1);
示例
以下示例向我们展示了如何使用 calendar 类的 roll() 方法滚动月份(不更改年份)或小时(不更改月份或年份)−
import java.util.*; public class Main { public static void main(String[] args) throws Exception { Date d1 = new Date(); Calendar cl = Calendar. getInstance(); cl.setTime(d1); System.out.println("today is "+ d1.toString()); cl. roll(Calendar.MONTH, 100); System.out.println("date after a month will be " + cl.getTime().toString() ); cl. roll(Calendar.HOUR, 70); System.out.println("date after 7 hrs will be "+ cl.getTime().toString() ); } }
输出
today is Mon Jun 22 02:44:36 IST 2009 date after a month will be Thu Oct 22 02:44:36 IST 2009 date after 7 hrs will be Thu Oct 22 00:44:36 IST 2009
滚动年份和小时
Calendar 实例 cal 用于操作当前时间。roll(Calendar.YEAR, false) 方法将年份向下滚动一年,roll(Calendar.HOUR, true) 方法将小时向上滚动一年,从而相应地调整时间而不更改日期、月份或其他字段。
示例
以下是另一个滚动月份的示例 −
import java.util.Calendar; public class CalendarExample { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println("Time:" + cal.getTime()); cal.roll(Calendar.YEAR, false); System.out.println("Time rolling down the year:" + cal.getTime()); cal.roll(Calendar.HOUR, true); System.out.println("Time rolling up the hour:" + cal.getTime()); } }
输出
Time:Fri Nov 11 07:01:31 UTC 2016 Time rolling down the year:Wed Nov 11 07:01:31 UTC 2015 Time rolling up the hour:Wed Nov 11 08:01:31 UTC 2015