javaSE Calendar类,日历类,年、月、日、时、分、秒的设置/获取和偏移

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息(年、月、日等)封装为静态成员变量,方便获取。

Calendar抽象类常用方法:



Demo1.java:

package cn.xxx.demo;

import java.util.Calendar;
import java.util.Date;

public class Demo1 {
	public static void main(String[] args) {
		function_2();
	}
	/*
	 * Calendar类的方法getTime()
	 * 把日历对象,转成Date日期对象
	 */
	public static void function_3(){
		Calendar c = Calendar.getInstance();
		Date date = c.getTime();
		System.out.println(date);
	}
	

	/*
	 * Calendar类方法add 日历的偏移量,
	 * 可以指定一个日历中的字段,
	 * 进行整数的偏移 add(int field, int value)
	 */
	public static void function_2() {
		Calendar c = Calendar.getInstance();  // 获取当前时间的日历对象。
		// 让日历中的天数,向前偏移280天
		c.add(Calendar.DAY_OF_MONTH, -280);
		// 获取年份
		int year = c.get(Calendar.YEAR);
		// 获取月份
		int month = c.get(Calendar.MONTH) + 1;  // 月份+1。英语中月份从0开始算。
		// 获取天数
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year + "年" + month + "月" + day + "日");
		int week = c.get(Calendar.DAY_OF_WEEK)-1;   // 星期数-1。英语中星期日是一周的第一天。 (需要对负数再进行处理) 
		System.out.println(week);
	}

	/*
	 * Calendar类的set方法 设置日历 set(int field,int value) field 设置的是哪个日历字段 value
	 * 设置后的具体数值
	 * 
	 * set(int year,int month,int day) 传递3个整数的年,月,日
	 */
	public static void function_1() {
		Calendar c = Calendar.getInstance();  // 当前时间的日历对象。
		// 设置,月份,设置到10月分
		// c.set(Calendar.MONTH, 9);   // 设置指定时间的日历对象。

		// 设置年,月,日
		c.set(2099, 4, 1);

		// 获取年份
		int year = c.get(Calendar.YEAR);
		// 获取月份
		int month = c.get(Calendar.MONTH) + 1;
		// 获取天数
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year + "年" + month + "月" + day + "日");
	}

	/*
	 * Calendar类的get方法 获取日历字段的值 int get(int) 参数int,获取的哪个日历字段 返回值,就表示日历字段的具体数值
	 */
	public static void function() {
		Calendar c = Calendar.getInstance();
		// 获取年份
		int year = c.get(Calendar.YEAR);
		// 获取月份
		int month = c.get(Calendar.MONTH) + 1;
		// 获取天数
		int day = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year + "年" + month + "月" + day + "日");
	}
}
Demo.java(getInstance()获取直接已知子类对象):
package cn.xxx.demo;

import java.util.Calendar;

/*
 *   日历类 java.util.Calendar
 *   抽象类,使用他的子类对象   GregorianCalendar直接已知子类
 *   
 *   Calendar类写了静态方法 getInstance() 直接返回了子类的对象
 *   不需要直接new 子类的对象,通过静态方法直接获取
 */
public class Demo {
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();  // 静态方法获取直接已知子类对象。  获取当前时间的日历对象。
		System.out.println(c);  // GregorianCalendar子类对象。
	}
}


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值