标签:calendar
public abstract class Calendar
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月
public final void set(int year, int month, int date)
设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。保留其他日历字段以前的值。如果不需要这样做,则先调用 clear()。
参数:
year - 用来设置 YEAR 日历字段的值。
month - 用来设置 MONTH 日历字段的值。Month 值是基于 0 的。例如,0 表示 January。
date - 用来设置 DAY_OF_MONTH 日历字段的值。
public int get(int field)
返回给定日历字段的值。在 lenient 模式下,所有日历字段都被标准化。在 non-lenient 模式下,所有日历字段都是经过验证的,如果任何日历字段有超出范围的值,则此方法抛出一个异常。标准化和验证都是通过 complete() 方法处理的,这个过程与日历系统有关。
参数:
field - 给定的日历字段。
返回:
给定日历字段的值。
抛出:
ArrayIndexOutOfBoundsException - 如果指定字段超出范围 (field < 0 || field >= FIELD_COUNT)。
package cn.itcast.p3.calendar; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) { /* * 演示日历。Calendar Calendar c = Calendar.getInstance(); // System.out.println(c); /* java.util.GregorianCalendar[time=1364193332890,areFieldsSet=true, * areAllFieldsSet=true,lenient=true, * zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000, * dstSavings=0,useDaylight=false,transitions=19,lastRule=null], * firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1, * YEAR=2013,MONTH=2,WEEK_OF_YEAR=13,WEEK_OF_MONTH=5, * DAY_OF_MONTH=25,DAY_OF_YEAR=84,DAY_OF_WEEK=2, * DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=2, *HOUR_OF_DAY=14,MINUTE=35, * SECOND=32,MILLISECOND=890,ZONE_OFFSET=28800000,DST_OFFSET=0] */ // show(c); // 设置具体一天的日期。 // c.set(2012,3, 5); // c.add(Calendar.MONTH, -9); // 练习:某一年的二月有多少天。 int year = 2013; c.set(year, 2, 1); c.add(Calendar.DAY_OF_MONTH, -1); show(c); } public static void show(Calendar c) { int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH) + 1; int day = c.get(Calendar.DAY_OF_MONTH); int week = c.get(Calendar.DAY_OF_WEEK); String str_week = getWeek(week); System.out.println(year + "年" + month + "月" + day + "日星期" + str_week); } private static String getWeek(int num) { String[] weeks = { "", "日", "一", "二", "三", "四", "五", "六" }; return weeks[num]; } }
标签:calendar
原文地址:http://8477424.blog.51cto.com/8467424/1786738