Java-----日期类之Calendar类详解
Posted 筱筱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
java类之Calendar类
package com; import java.util.Calendar; /** * Calendar类概述及方法 * Calendar类概述:Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAE、MONTH等日历字段之间的转换提供了一些方法, * 并为操作日历字段提供了一些方法。 * * 成员方法: * public static Calendar getInstance() * public int get(int field) 返回给定日历字段的值,日历类的额每个字段都是静态的成员变量,并且是int类型 * public void add(int field,int amount) * public final void set(int year,int month,int date) */ public class CalendarDemo { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); //获取年 int year = calendar.get(Calendar.YEAR); System.out.println("年:"+year);//年:2016 //获取月 int month = calendar.get(Calendar.MONTH); System.out.println("月:"+(month+1));//月:10 //获取日 int day = calendar.get(Calendar.DAY_OF_MONTH); System.out.println("日:"+day);//日:12 } }
package com; import java.util.Calendar; /** * Calendar类概述及方法 * Calendar类概述:Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAE、MONTH等日历字段之间的转换提供了一些方法, * 并为操作日历字段提供了一些方法。 * * 成员方法: * public static Calendar getInstance() * public int get(int field) 返回给定日历字段的值,日历类的额每个字段都是静态的成员变量,并且是int类型 * public void add(int field,int amount) 根据给定的日历字段和相应的时间,来对当前的日历进行操作 * public final void set(int year,int month,int date) 设置当前当前日历的年月日 */ public class CalendarDemo { public static void main(String[] args) { //获取当前的日历时间 Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); int month = calendar.get(Calendar.MONTH); int date = calendar.get(Calendar.DATE); System.out.println("当期的时间为:"+year+"-"+(month+1)+"-"+date);//当期的时间为:2016-10-12 //三年前的今天 calendar.add(Calendar.YEAR, -3); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); date = calendar.get(Calendar.DATE); System.out.println("3年前的今天:"+year+"-"+(month+1)+"-"+date);//3年前的今天:2013-10-12 //三年后的今天 calendar.add(Calendar.YEAR, 3); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); date = calendar.get(Calendar.DATE); System.out.println("三年后的今天:"+year+"-"+(month+1)+"-"+date);//三年后的今天:2016-10-12,这是因为刚才设置了3年前 //设置年月日 calendar.set(2019, 11, 11); year = calendar.get(Calendar.YEAR); month = calendar.get(Calendar.MONTH); date = calendar.get(Calendar.DATE); System.out.println("设置后的时间为:"+year+"-"+(month+1)+"-"+date);//设置后的时间为:2019-12-11 } }
本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1861258
以上是关于Java-----日期类之Calendar类详解的主要内容,如果未能解决你的问题,请参考以下文章