扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:整理 来源:天极网 2007年10月13日
关键字:
在本页阅读全文(共4页)
9/29/01 8:44 PM
Sep 29, 2001 8:44:45 PM
September 29, 2001 8:44:45 PM EDT
Saturday, September 29, 2001 8:44:45 PM EDT
Calendar 类
我们现在已经能够格式化并创建一个日期对象了, 但是我们如何才能设置和获取日期数据的特定部分呢, 比如说小时, 日, 或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类. 就如我们前面提到的那样, Calendar 类中的方法替代了Date 类中被人唾骂的方法.
假设你想要设置, 获取, 和操纵一个日期对象的各个部分, 比方一个月的一天或者是一个星期的一天. 为了演示这个过程, 我们将使用具体的子类 java.util.GregorianCalendar. 考虑下面的例子, 它计算得到下面的第十个星期五是13号.
以下是引用片段: import java.util.GregorianCalendar; import java.util.Date; import java.text.DateFormat; public class DateExample5 { public static void main(String[] args) { DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL); // Create our Gregorian Calendar. GregorianCalendar cal = new GregorianCalendar(); // Set the date and time of our calendar // to the system's date and time cal.setTime(new Date()); System.out.println("System Date: " + dateFormat.format(cal.getTime())); // Set the day of week to FRIDAY cal.set(GregorianCalendar.DAY_OF_WEEK, GregorianCalendar.FRIDAY); System.out.println("After Setting Day of Week to Friday: " + dateFormat.format(cal.getTime())); int friday13Counter = 0; while (friday13Counter <= 10) { // Go to the next Friday by adding 7 days. cal.add(GregorianCalendar.DAY_OF_MONTH, 7); // If the day of month is 13 we have // another Friday the 13th. if (cal.get(GregorianCalendar.DAY_OF_MONTH) == 13) { friday13Counter++; System.out.println(dateFormat.format(cal.getTime())); } } } } |
在这个例子中我们作了有趣的函数调用:
cal.set(GregorianCalendar.DAY_OF_WEEK,
GregorianCalendar.FRIDAY);
和:
cal.add(GregorianCalendar.DAY_OF_MONTH, 7);
set 方法能够让我们通过简单的设置星期中的哪一天这个域来将我们的时间调整为星期五. 注意到这里我们使用了常量 DAY_OF_WEEK 和 FRIDAY来增强代码的可读性. add 方法让我们能够在日期上加上数值. 润年的所有复杂的计算都由这个方法自动处理.
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者