【Java-----日期类(三)之Calendar类详解】

Calendar类概述

Calendar类是Java.util包中提供的一个抽象类,该类从JDK1.1开始出现,作为Date类的替代方案,Calendar类中包含了对不同国家地区日历的处理,Calendar类常见的子类为:java.util.GregorianCanlendar;获取Calendar对象一般使用类中提供的静态方法:getInstance(),该方法返回了Calendar的子类对象

Calendar类中的静态常量

Calendar.YEAR //表示年份

Calendar.MONTH //表示月份

Calendar.DATE //表示当前时间为多少号(日历式的多少号)

Calendar.HOUR //表示小时(12小时制)

Calendar.HOUR_OF_DAY //表示小时(24小时制)

Calendar.MINUTE //表示分钟数

Calendar.SECOND //表示秒数

Calendar.MILLENSECOND //表示毫秒数

Calendar.WEEK_OF_MONTH //当前时间是所在当前月的第几个星期(日历式的第几周)

Calendar.WEEK_OF_YEAR //当前时间是所在当前年的第几个星期

Calendar.DAY_OF_WEEK_IN_MONTH //当前时间是所在当前月的第几个星期,以月份天数为标准,一个月的1号为第一周,8号为第二周

Calendar.DAY_OF_WEEK //一周七天中,当前时间是一周中的第几天

Calendar.DAY_OF_YEAR //表示一年中的第几天

Calendar.DAY_OF_MONTH //表示一个月中的第几天,结果等同于Calendar.DATE

Calendar.AM_PM //表示是上午还是下午

Calendar.SUNDAY //周日

Calendar.MONDAY //周一

Calendar.TUESDAY //周二

Calendar.WEDNSDAY //周三

Calendar.THURSDAY //周四

Calendar.FRIDAY //周五
  
Calendar.SATURDAY //周六

使用具体代码运行如下:

Calendar c= Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH)+1;//此处加1因为Calendar中月份是从0开始计的
int date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
//输出:2022年10月15日

Calendar中的常用方法

1  public static Calendar getInstance():创建Calendar类型的子类对象

Calendar c= Calendar.getInstance();

2  public int get(int filed):根据日历字段,获取其对应的值

Calendar c= Calendar.getInstance();
int year=c.get(Calendar.YEAR);
System.out.println(year+"年");
//输出:2022年

3  public final void set(int year,int month,int day):设置时间为指定的年,月,日

Calendar c=Calendar.getInstance();
c.set(2018, 2, 14);
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);
date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
//输出:2018年2月14日

4  public abstract void add(int field,int amount):根据日历的规则,将指定的时间量添加或减去给定的日历字段

//3年后的今天(插句话,正在读研的笔者真希望一键跳到三年后的今天)
c.add(Calendar.YEAR, 3);
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH)+1;
date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
//输出:2025年10月15日

//10年后的五天前
c.add(Calendar.YEAR, 10);
c.add(Calendar.DATE, -5);
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH)+1;
date=c.get(Calendar.DATE);
System.out.println(year+"年"+month+"月"+date+"日");
//输出:2035年10月10日

5  Date getTime():返回一个Date表示日历的时间

Calendar c=Calendar.getInstance();
Date d=c.getTime();
System.out.println(d);
//输出:Sat Oct 15 21:01:07 CST 2022

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值