您的位置:首页 > 职场人生

黑马程序员——Java基础——其他对象(Calendar)

2014-09-19 16:01 489 查看
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------

/**
* Calendar(日历) 类:
1.是一个抽象类。
2.它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,
并为操作日历字段(例如获得下星期的日期)提供了一些方法。
3.瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
*/
public class CalendarDemo {

public static void main(String[] args){
//获取年月日时分秒:

//1.创建Calendar对象
Calendar calendar = Calendar.getInstance();
//2.打印Calendar对象
System.out.println(calendar);
/**
* 控制台打印信息,除了中文
* java.util.GregorianCalendar
* [
* time=1411057765581,					毫秒
* areFieldsSet=true,					如果 fields[] 与当前的设置时间同步,则返回 true。
* areAllFieldsSet=true,
* lenient=true,
* zone=sun.util.calendar.ZoneInfo		时区信息
* 		[
* 			id="Asia/Shanghai",			亚洲/上海
* 			offset=28800000,			以毫秒为单位指示距 GMT 的大致偏移量
* 			dstSavings=0,
* 			useDaylight=false,
* 			transitions=19,
* 			lastRule=null
*		 ],
* firstDayOfWeek=1,
* minimalDaysInFirstWeek=1,
* ERA=1
* ,YEAR=2014,							年
* MONTH=8,								月
* WEEK_OF_YEAR=38,						这一年中第几个星期
* WEEK_OF_MONTH=3,						这个月中第几个星期
* DAY_OF_MONTH=19,						这个月中第几天
* DAY_OF_YEAR=262,						这一年中第几天
* DAY_OF_WEEK=6,						这一星期中第几天
* DAY_OF_WEEK_IN_MONTH=3,				这一天所在的星期是这个月的第几星期
* AM_PM=0,
* HOUR=0,								时
* HOUR_OF_DAY=0,						今天的第几个小时
* MINUTE=29,							分
* SECOND=25,							秒
* MILLISECOND=581,						毫秒
* ZONE_OFFSET=28800000,				以毫秒为单位指示距 GMT 的大致偏移量
* DST_OFFSET=0							以毫秒为单位指示夏令时的偏移量
* ]
*/
//打印输出当前时间
printCalendar(calendar);
//3.设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。
calendar.set(2014, 12, 12);
printCalendar(calendar);
//4.对时间往前推或往后推
//add(int field,int amount);
//field - 日历字段。
//amount - 为字段添加的日期或时间量。
calendar.add(Calendar.YEAR, 1);
printCalendar(calendar);
calendar.add(Calendar.MONTH, -2);
printCalendar(calendar);

}

/**
* 方法描述:打印输出时间
* @param calendar 对象
*/
public static void printCalendar(Calendar calendar) {
//查表法
String[] mons = {"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月",};
String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

//1.获取年
int year = calendar.get(Calendar.YEAR);
//2.获取月(值的范围:0-11)
int month = calendar.get(Calendar.MONTH)+1;
//3.日
int day = calendar.get(Calendar.DAY_OF_MONTH);
//4.时
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//5.分
int minute = calendar.get(Calendar.MINUTE);
//6.秒
int second = calendar.get(Calendar.SECOND);
//7.毫秒
int millisecond = calendar.get(Calendar.MILLISECOND);
//8.星期几((值的范围:1-7))
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)-1;
//打印输出
System.out.println(year+"年"+month+"月"+day+"日"+"(星期"+dayOfWeek+")"+hour+"时"+minute+"分"+second+"秒"+millisecond+"毫秒");

//按查表法获取月份和星期并打印输出
int monthIndex = calendar.get(Calendar.MONTH);
int dayOfWeekIndex = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(year+"年"+mons[monthIndex]+day+"日"+"("+weeks[dayOfWeekIndex]+")"+hour+"时"+minute+"分"+second+"秒"+millisecond+"毫秒");
System.out.println();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: