当前位置: 首页 > news >正文

Calendar日历类型常见方法

Calendar日历类型常见方法:

    • 概括:
    • 1.get( )方法
    • 2、set( ) 设置时间
    • 3、常用的add方法
    • 4、after()方法表示的时间是否在指定时间之后, before( ) 方法则之前, 返回判断结果
    • 4.1、compareTo比较器

概括:

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

1.get( )方法

 @Testpublic void getCalendar(){Calendar cal=Calendar.getInstance();//获取年System.out.println("年\t" + cal.get(Calendar.YEAR));//获取月System.out.println("月\t" + (cal.get(Calendar.MONTH)+1));  //月份从下标0开始 所以+1//获取日System.out.println("日\t" + cal.get(Calendar.DAY_OF_MONTH));//获取时System.out.println("时\t" + cal.get(Calendar.HOUR_OF_DAY));//获取分System.out.println("分\t"+ cal.get(Calendar.MINUTE));}

运行效果如下:

年 2023
月 11
日 23
时 11
分 42

2、set( ) 设置时间

 @Testpublic  void setCalendar(){Calendar cal=Calendar.getInstance();System.out.println("当前时间"+cal.getTime());cal.set(2023,11,11);//设置日期System.out.println("set设置的时间"+cal.getTime());//当读赋值 设置年月日...Calendar cal1=Calendar.getInstance();cal1.set(Calendar.YEAR,2022);cal1.set(Calendar.MONTH,12);cal1.set(Calendar.DATE,12);System.out.println("set分别赋值的时间"+cal1.getTime());}

运行效果:

当前时间Fri Nov 24 15:58:27 CST 2023
set设置的时间Mon Dec 11 15:58:27 CST 2023
set分别赋值的时间Thu Jan 12 15:58:27 CST 2023

3、常用的add方法

 @Testpublic void addCalendar(){Calendar cld=Calendar.getInstance();cld.set(2023,11,11);//设置日期cld.add(Calendar.YEAR,1);  //增加一年System.out.println(cld.getTime());}

效果如下:

Wed Dec 11 16:02:05 CST 2024

4、after()方法表示的时间是否在指定时间之后, before( ) 方法则之前, 返回判断结果

@Testpublic void afterCalendarBefore() {// 获取当前时间Calendar cld = Calendar.getInstance();// 设置指定时间cld.set(2024, 12, 12);Calendar cld2 = Calendar.getInstance();cld2.set(2023, 12, 12);// 获取指定时间的字符串String time1 = cld.get(Calendar.YEAR) + "-" + cld.get(Calendar.MONTH) + "-" + cld.get(Calendar.DAY_OF_MONTH);String time2 = cld2.get(Calendar.YEAR) + "-" + cld2.get(Calendar.MONTH) + "-" + cld2.get(Calendar.DAY_OF_MONTH);// 判断cld是否在cld2之后 反则之前if (cld.after(cld2)) {System.out.println("cld日期\t" + time1 + "在cld2日期\t" + time2 + "之后");}else if(cld.before(cld2)) {System.out.println("cld日期\t" + time1 + "在cld2日期\t" + time2 + "之前");}}

效果如下:

cld日期 2025-0-12在cld2日期 2024-0-12之后

4.1、compareTo比较器

使用Calendar的compareTo()方法:Calendar类实现了Comparable接口,因此可以直接使用compareTo()方法来比较两个Calendar对象的日期和时间。该方法返回一个整数,表示两个Calendar对象的比较结果。

@Testpublic  void compareTo(){// 创建两个日历对象Calendar cal1 = Calendar.getInstance();Calendar cal2 = Calendar.getInstance();// 设置日历2的日期为2023年10月12日cal2.set(2023,10,12);// 比较两个日历对象的日期大小int result = cal1.compareTo(cal2);// 根据比较结果输出信息if (result < 0) {System.out.println(cal1.getTime() + " 在 " + cal2.getTime() + " 之前");} else if (result > 0) {System.out.println(cal1.getTime() + " 在 " + cal2.getTime() + " 之后");} else {System.out.println(cal1.getTime() + " 与 " + cal2.getTime() + " 相同");}}

输出结果如下:

Fri Nov 24 19:07:32 CST 2023 在 Sun Nov 12 19:07:32 CST 2023 之后

http://www.lryc.cn/news/273736.html

相关文章:

  • Docker-Compose部署Redis(v7.2)主从模式
  • Spring国际化的应用及原理详解
  • Existing installation is up to date
  • windows安装kafka以及kafka管理工具推荐
  • 面向对象的三大特征之一多态
  • vue3中标签form插件
  • 企业数字化转型:1个核心、2种力量、3个关键点、4大转型、5大平台
  • Agilent安捷伦E4990A阻抗分析仪20Hz
  • 性能优化-OpenMP概述(一)-宏观全面理解OpenMP
  • Prometheus实战篇:Prometheus监控nginx
  • JVM加载class文件的原理机制
  • 如何使用CapSolver解决Web爬虫中遇到的CAPTCHA问题
  • 杰发科技AC7801——IO模拟IIC注意事项
  • 展台搭建与设计都有哪些思路
  • 解决mock单元测试中 无法获取实体类xxx对应的表名
  • arm64虚拟化技术与kvm实现原理分享
  • 选择 省市区 组件数据 基于vue3 + elment-plus
  • 了解 nextTick
  • C++精进之路(十六)string类和标准模板库
  • 【23.12.29期--Redis缓存篇】谈一谈Redis的集群模式
  • 【算法挨揍日记】day34——647. 回文子串、5. 最长回文子串
  • 欧科云链研究院:奔赴2024,Web3与AI共振引爆数字时代潘多拉魔盒
  • 【Py/Java/C++三种语言OD2023C卷真题】20天拿下华为OD笔试之【数学】2023C-素数之积【欧弟算法】全网注释最详细分类最全的华为OD真题题解
  • uniapp路由
  • 湖南大学-数据库系统-2023期末考试【原题】
  • 【Java EE初阶九】多线程案例(线程池)
  • 理解 Node.js 中的事件循环
  • Mac 软件出现「意外退出」及「打不开」解决方法
  • 随机森林 3(代码)
  • 勒索事件急剧增长,亚信安全发布《勒索家族和勒索事件监控报告》