Java中Calendar日期类常用方法演示

 更新时间:2023年12月14日 16:39:36   作者:webliuq  
这篇文章主要给大家介绍了关于Java中Calendar日期类用法详细介绍的相关资料,Calendar类是 Java 中用于处理日期和时间的抽象类,它提供了一种独立于特定日历系统的方式来处理日期和时间,需要的朋友可以参考下

介绍

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

创建 Calendar 对象不能使用 new 关键字,因为 Calendar 类是一个抽象类,但是它提供了一个getInstance() 方法来获得 Calendar 类的对象。 getInstance() 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

Calendar对象实例化演示:

Calendar c = Calendar.getInstance();

方法展示:

方法

描述

void add(int field, int amount)

根据日历的规则,为给定的日历字段 field 添加或减去指定的时间

量 amount

boolean after(Object when)

判断此 Calendar 表示的时间是否在指定时间 when 之后,并返回

判断结果

boolean before(Object when)

判断此 Calendar 表示的时间是否在指定时间 when 之前,并返回

判断结果

void clear()

清空 Calendar 中的日期时间值

int compareTo(Calendar

anotherCalendar)

比较两个 Calendar 对象表示的时间值(从格林威治时间 1970 年

01 月 01 日 00 时 00 分 00 秒至现在的毫秒偏移量),大则返回

1 ,小则返回 -1 ,相等返回 0

int get(int field)

返回指定日历字段的值

int getActualMaximum(int

field)

返回指定日历字段可能拥有的最大值

int getActualMinimum(int

field)

返回指定日历字段可能拥有的最小值

int getFirstDayOfWeek()

获取一星期的第一天。根据不同的国家地区,返回不同的值

static Calendar getInstance()

使用默认时区和语言坏境获得一个日历

static Calendar

getInstance(TimeZone zone)

使用指定时区和默认语言环境获得一个日历

static Calendar

getInstance(TimeZone zone,

Locale aLocale)

使用指定时区和语言环境获得一个日历

Date getTime()

返回一个表示此 Calendar 时间值(从格林威治时间 1970 年 01 月

01 日 00 时 00 分 00 秒至现在的毫秒偏移量)的 Date 对象

long getTimeInMillis()

返回此 Calendar 的时间值,以毫秒为单位

void set(int field, int value)

为指定的日历字段设置给定值

void set(int year, int month,

int date)

设置日历字段 YEAR 、 MONTH 和 DAY_OF_MONTH 的值

void set(int year, int month,

int date, int hourOfDay, int

minute, int second)

设置字段 YEAR 、 MONTH 、 DAY_OF_MONTH 、 HOUR 、 MINUTE

和 SECOND 的值

void setFirstDayOfWeek(int

value)

设置一星期的第一天是哪一天

Calendar 对象可以调用 set() 方法将日历翻到任何一个时间,当参数 year 取负数时表示公元前。Calendar 对象调用 get() 方法可以获取有关年、月、日等时间信息,参数 field 的有效值Calendar 静态常量指定。

Calendar 类中定义了许多常量,分别表示不同的意义。

  • Calendar.YEAR:年份。
  • Calendar.MONTH:月份。
  • Calendar.DATE:日期。
  • Calendar.DAY_OF_MONTH:日期,和上面的字段意义完全相同。
  • Calendar.HOUR:12小时制的小时。
  • Calendar.HOUR_OF_DAY:24 小时制的小时。
  • Calendar.MINUTE:分钟。
  • Calendar.SECOND:秒。
  • Calendar.DAY_OF_WEEK:星期几。

常用方法演示:

1、void add(int field, int amount),根据日历的规则,为给定的日历字段 field 添加或减去指定的时间量 amount,第一个参数虽然传的为int类型,但Java官方怕我们记错所以可以用"Calendar."去得到我们想添加或减去的指定时间量,例如下列代码第一个参数传入"Calendar.DATE",代表在天数上添加或减去:

//获取默为当前时间的Calendar日期对象
Calendar c = Calendar.getInstance();
//格式化日期输出当前日期
System.out.printf("%tF %<tT%n",c);

//加五天
c.add(Calendar.DATE,5);
System.out.printf("%tF %<tT%n",c);

//在加五天的基础上减10天
c.add(Calendar.DATE,-10);
System.out.printf("%tF %<tT%n",c);

运行结果展示:

2、void clear(),清空 Calendar 中的日期时间值。此处的清空时间并不是说将时间设置为“0000-00-00 00:00:00",而是重置时间戳为0,即日期为:“1970-01-01 00:00:00”。 代码演示:

Calendar c = Calendar.getInstance();
 
//格式化输出当前日期
System.out.printf("%tF %<tT%n",c);
 
//清除日期
c.clear();
 
//格式化输出清除后的日期
System.out.printf("%tF %<tT%n",c);

运行展示:

3、int get(int field),返回指定日历字段的值 int 类型参数也可以用“Calendar.”来代替,这样更方便编程人员来识别使用。

代码演示:

Calendar c = Calendar.getInstance();
//按年月日时分秒依次输出
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.HOUR));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));

运行结果展示:

4、 Date getTime(), 返回一个表示此 Calendar 时间值(从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒至现在的毫秒偏移量)的 Date 对象,而Date对象在获得时间戳时调用的为gettime()方法,因此我们可以利用此方法来事项将Calendar对象转化为时间戳。 代码演示:

Calendar c = Calendar.getInstance();
 
//获得Date对象
Date date = c.getTime();
 
//利用Date对象获取时间戳
long l = date.getTime();
System.out.println(l);

运行结果演示:

5、long getTimeInMillis() ,4方法中获取时间戳的方法过于麻烦,我们可以利用此方法直接获取时间戳:

代码演示:

Calendar c = Calendar.getInstance();
 
//获取Calendar对象时间戳
long l = c.getTimeInMillis();
System.out.println(l);

运行结果展示:

6、void set(int field, int value) ,为指定的日历字段设置给定值,此方法们可以只针对年月日时分秒其中一项进行时间修改:

代码演示:

Calendar c = Calendar.getInstance();
//分别对年月日时分秒进行修改
c.set(Calendar.YEAR,2022);
c.set(Calendar.MONTH,1);
c.set(Calendar.DATE,1);
c.set(Calendar.HOUR,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
 
格式化输出修改后的Calendar对象
System.out.printf("%tF %<tT%n",c);

运行结果展示:

 7、void set(int year, int month, int date),设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。设置年月日,时分秒默认为00:00:00,使用此方法进行设置时要将想要设置的年份减1,否则得不到想要的结果。

代码演示:

Calendar c = Calendar.getInstance();
//设置为2000年5月8日
c.set(2000,5-1,8);
 
//格式化输出
System.out.printf("%tF %<tT%n",c);

运行结果展示:

8、void set(int year, int month, int date, int hourOfDay, int minute, int second),该方法7方法相比方法名相同但参数列表不同,且该方法可以将时间设置精确到时分秒,同样的在设置月份的时候要进行减1。

代码演示:

Calendar c = Calendar.getInstance();
//设置时间为2000年5月8日12时5分59秒
c.set(2000,5-1,8,12,5,59);
System.out.printf("%tF %<tT%n",c);

运行结果展示:

总结

到此这篇关于Java中Calendar日期类用法详细介绍的文章就介绍到这了,更多相关Java Calendar日期类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 三步轻松搭建springMVC框架

    三步轻松搭建springMVC框架

    这篇文章主要教大家三步轻松搭建springMVC框架,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • java实现网上购物车程序

    java实现网上购物车程序

    这篇文章主要介绍了java实现网上购物车程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 手把手带你分析SpringBoot自动装配完成了Ribbon哪些核心操作

    手把手带你分析SpringBoot自动装配完成了Ribbon哪些核心操作

    这篇文章主要介绍了详解Spring Boot自动装配Ribbon哪些核心操作的哪些操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • kafka添加安全验证配置方式

    kafka添加安全验证配置方式

    这篇文章主要介绍了kafka添加安全验证配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Java虚拟机如何运行Java字节码

    Java虚拟机如何运行Java字节码

    这篇文章主要介绍了Java虚拟机如何运行Java字节码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 使用springboot的jar包能够以service方式启动

    使用springboot的jar包能够以service方式启动

    这篇文章主要介绍了使用springboot的jar包能够以service方式启动,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • SpringBoot中@MessageMapping注解的原理及使用详解

    SpringBoot中@MessageMapping注解的原理及使用详解

    这篇文章主要介绍了SpringBoot中@MessageMapping注解的原理及使用详解,@MessageMapping注解是Spring Boot提供的一个重要的注解之一,它可以帮助我们处理WebSocket消息,需要的朋友可以参考下
    2023-07-07
  • java如何在过滤器中为http请求加请求头header

    java如何在过滤器中为http请求加请求头header

    总结:通过在过滤器中添加`addHeader`方法,强制将用户唯一标识添加到请求头中,然后在需要的地方通过`@RequestHeader`注解获取用户唯一标识,此方法适用于所有接口,解决了通过页面传递token不适用所有接口的问题
    2026-04-04
  • Spring的初始化和XML解析的实现

    Spring的初始化和XML解析的实现

    这篇文章主要介绍了Spring的初始化和XML解析的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • java模仿实现QQ登录界面

    java模仿实现QQ登录界面

    这篇文章主要为大家详细介绍了java模仿实现qq登录界面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论