java-Calendar

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

Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下:

l  Calendar类静态方法

Calendar c = Calendar.getInstance();  //返回当前时间

1.1      Calendar类常用方法

l  public static Calendar getInstance() //获取日期对象

l  public int get(int field)   //获取时间字段值,字段参见帮助文档

n  YEAR 年

n  MONTH 月,从0开始算起,最大11;0代表1月,11代表12月。

n  DATE 天

n  HOUR 时

n  MINUTE分

n  SECOND秒

代码演示:

    Calendar c = Calendar.getInstance();

    int year = c.get(Calendar.YEAR);

l  public void add(int field,int amount)   //指定字段增加某值

代码演示:

    Calendar c = Calendar.getInstance();

    //修改当前时间为3天后

    c.add(Calendar.DATE, 3);

    //修改当前时间为5小时后

    c.add(Calendar.HOUR, 5);

l  public final void set(int field,int value)//设置指定字段的值

代码演示:

    Calendar c = Calendar.getInstance();

    //设置时间为2020年5月20日

    c.set(Calendar.YEAR, 2020);

    c.set(Calendar.MONTH, 4);

    c.set(Calendar.DATE, 20);

l  public final Date getTime() //获取该日历对象转成的日期对象

代码演示:

Calendar c = Calendar.getInstance();

    Date d = c.getTime();

代码实例::

package cn.itcast.demo03;

import java.util.Calendar;

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

package cn.itcast.demo03;

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

public class CalendarDemo1 {
public static void main(String[] args) {
function_3();
}
/*
* 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;
// 获取天数
int day = c.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "年" + month + "月" + day + "日");
}

/*
* 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 funtion() {
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 + "日");
}
}

猜你喜欢

转载自www.cnblogs.com/zimo-bwl1029-s/p/9195410.html