首页 > 其他分享 >Calendar日历类型常见方法

Calendar日历类型常见方法

时间:2023-11-25 11:44:51浏览次数:27  
标签:常见 get cld 日历 System println Calendar out

Calendar日历类型常见方法:

 

概括:

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

1.get( )方法

 @Test
    public 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( ) 设置时间

 @Test
    public  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方法

 @Test
    public 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( ) 方法则之前, 返回判断结果

@Test
    public 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之后

5、compareTo比较器

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

@Test
   public  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 之后

标签:常见,get,cld,日历,System,println,Calendar,out
From: https://www.cnblogs.com/tzj0417/p/17855351.html

相关文章

  • java Calendar常见方法使用
    ......
  • Calendar日历类型常见方法(保姆教程)【精选】
    根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。boolean equals() 比较此GregorianCalendar与指定的Object。int getMinmum 返回此GregorianCalendar实例的给定日历字段的最小值。int getMaxmum 返回此GregorianCalendar实例的给定日历字段的最大......
  • java Calendar、LocalDateTime、LocalDate日期加减
    Calendar日期获取,设置,加减创建一个日历对象获取当前年份,月份,日期等.....设置指定年份,月份,日期等.....Calendarcalendar=Calendar.getInstance();//创建一个日历对象intyear=calendar.get(calendar.YEAR);//获取当前年份System.out.p......
  • Python常见文件读写方法有哪些?
    在Python中,文件读写是非常常见的操作之一,因此提供了多种文件读写模式以及文件读写方法。那么Python常见文件读写方法有哪些?具体请看下文。文件读写模式在Python中,文件读写模式是指打开文件时使用的模式。Python提供了多种文件读写模式,包括:①读模式("r"):以只读方式......
  • .Net core 常见同步机制及其应用场景
    在.NETCore5中,提供了多种同步机制来处理多线程同步问题,下面分别介绍这些同步机制及其适用场景。lock关键字lock关键字是C#语言提供的一种基本的同步机制,可以用于保护临界区,确保多个线程对共享资源的访问互斥性。使用lock关键字时,需要指定一个对象作为锁,这个锁对象可......
  • Calendar日历类型常见方法
     Calendar类Calendar类是一个抽象类,它为特定瞬间与YEAR、MONTH、DAY_OF—MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(如获得下星期的日期)提供了一些方法。创建Calendar对象不能使用new关键字,因为Calendar类是一个抽象类,但是它提供了......
  • 线程池-常见问题
    尽管线程池对于构建多线程应用是个很强大的机制,但它也不是没有缺点的。使用线程池构建的应用会面临其他多线程应用所面对的一样的并发风险,比如同步错误和死锁,此外线程池还有其他的一些特有缺陷,比如线程池-关联死锁,资源不足,还有线程泄漏。 死锁任何多线程应用都会面临死锁的......
  • Android Studio常见问题的解决
    真机调试显示安装包异常在gradle.properties文件最后面加上这一行代码android.injected.testOnly=false以及选择合适的AGP版本,例如选择7.1.2版本,这个版本号可以在build.gradle文件里面修改。gradle下载缓慢的问题在网络防火墙->允许应用通过防火墙->将AndroidStudio添加......
  • 常见的接口类型有哪些?
    在软件开发中,接口是不可或缺的一部分。它允许不同的软件组件之间进行通信并相互交互。接下来我们介绍几种常见的接口类型:1、RESTfulAPI:经典但并非最适合所有场景的接口类型第一个不得不提到最常见的API接口类型之一:RESTfulAPI。它是目前最流行的一种WebAPI设计风格。这种......
  • C++程序编译常见错误与评测各个状态含义
    编译常见错误提示1.[Error]expected';'before'cout'。在cout前面,缺少一个分号。2.[Error]'b'wasnotdeclaredinthisscope。未定义变量名b。3.[Error]stray'\243'inprogram\stray'\273'inprogram。不可识别的非法字符。4.[Error]ldretu......