Java学习日志14.19(第一阶段基础)

2018.11.3 23:40

14.19_常见对象(Calendar类的概述和获取日期的方法)(掌握)

*A:Calendar类的概述
* Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

  • B:成员方法
    • public static Calendar getInstance()
    • public int get(int field)*

14.20_常见对象(Calendar类的add()和set()方法)(掌握)‘

A:成员方法
* public void add(int field,int amount)
* public final void set(int year,int month,int date)

代码练习:

package com.heima.otherclass;

import java.util.Calendar;

/*
 *  A:Calendar类的概述
	* Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
* B:成员方法
	* public static Calendar getInstance()
	* public int get(int field)
	
	 A:成员方法
	* public void add(int field,int amount)
	* public final void set(int year,int month,int date)
* B:案例演示
	* Calendar类的成员方法使用
	
 */
public class Demo_Calendar {
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		text(c);
		c.add(c.YEAR, -1);	//对特定字段向前减或者向后加
		System.out.println("将年数向前减去1后:" + c.get(Calendar.YEAR));
		c.set(Calendar.MONTH, 8);	//修改特定字段
		System.out.println("将月数设置为9月后:"+(c.get(Calendar.MONTH)+1));
		c.set(2000, 8, 8);	//修改年月日成特定的日期
		System.out.println("修改后的日期是:" + c.get(Calendar.YEAR)+"年 "+get_Num(c.get(Calendar.MONTH)+1)+"月 "+get_Num(c.get(Calendar.DAY_OF_MONTH))
		+"日 " + get_WEEK(c.get(Calendar.DAY_OF_WEEK)));		
		
	}
	private static void text(Calendar c ) {
		
		System.out.println(c);
		System.out.println("当前瞬间与日历字段:" + c);
		System.out.println(c.get(Calendar.YEAR));	//通过字段获取年
		System.out.println(c.get(Calendar.MONTH)+1);	//通过字段获取月,但是月是从0开始的
		System.out.println(c.get(Calendar.DAY_OF_MONTH));	//通过字段获取月中第几天
		System.out.println(get_WEEK(c.get(Calendar.DAY_OF_WEEK)));	//通过字段获取星期,第一天是星期日,第七天是星期六
		System.out.println("今天的日期是:" + c.get(Calendar.YEAR)+"年 "+get_Num(c.get(Calendar.MONTH)+1)+"月 "+get_Num(c.get(Calendar.DAY_OF_MONTH))
							+"日 " + get_WEEK(c.get(Calendar.DAY_OF_WEEK)));
	}
		//写一个方法按中国逻辑获取星期(查表法)
		/*
		 分析:
		 1.返回类型String,参数类型int
		 2将星期存储在字符数组中
		 3通过参数匹配获取星期
		 */
		public static String get_WEEK(int week) {
			String[] arr = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
			return  arr[week];
		}
	
		//规范日期的月份以及天数的表示
		/*
		 * 分析:
		 * 返回类型String
		 * 参数类型int
		 * 是个位数前面加0,否则不操作
		 */
	public static String get_Num(int num) {
		return  num > 9 ? "" + num :"0" + num;	//条件表达式返回特定格式
	}
}

程序结果:
当前瞬间与日历字段:java.util.GregorianCalendar[time=1541481786513,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=2018,MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=2,DAY_OF_MONTH=6,DAY_OF_YEAR=310,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=1,HOUR_OF_DAY=13,MINUTE=23,SECOND=6,MILLISECOND=513,ZONE_OFFSET=28800000,DST_OFFSET=0]
2018
11
6
星期二
今天的日期是:2018年 11月 06日 星期二
将年数向前减去1后:2017
将月数设置为9月后:9
修改后的日期是:2000年 09月 08日 星期五

猜你喜欢

转载自blog.csdn.net/binge_kong/article/details/83692541