Calendar日历类型常见方法(必看!!)

这篇具有很好参考价值的文章主要介绍了Calendar日历类型常见方法(必看!!)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Hi i,m JinXiang


⭐ 前言 ⭐

本篇文章主要介绍Calendar日历类型的几种常见方法以及部分理论知识


🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁

🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言


 

⭐什么是Calendar日历类型?

Calendar类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。Calendar英文含义为日历、挂历、日程表。

 

⭐为什么要用Calendar日历类型?

1、Calendar日历,主要用来处理时间,例如获取事件的某个部分,改变时间的某个部分,对时间进行加减操作等

2、Calendar日历与Date的区别,Date主要是获取一个日期的,里面也有很多操作日期的方法,但是早已经过期了,不再使用。所以操作日期主要使用Calendar

 

⭐使用Calendar日历类型

Calendar 是一个抽象类, 无法通过直接实例化得到对象。因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化。

与其他区域设置敏感的类一样, Calendar提供了一种类方法“getInstance”,用于获取此类型的一般有用的对象。 Calendar的“getInstance”方法返回一个Calendar对象,其日历字段已使用当前日期和时间进行初始化:

Calendar c1 = Calendar.getInstance();

使用Calendar获得年月日时分秒:

// 获得年份
int year = c1.get(Calendar.YEAR);
// 获得月份
int month = c1.get(Calendar.MONTH) + 1;
// 获得日期
int date = c1.get(Calendar.DATE);
// 获得小时
int hour = c1.get(Calendar.HOUR_OF_DAY);
// 获得分钟
int minute = c1.get(Calendar.MINUTE);
// 获得秒
int second = c1.get(Calendar.SECOND);
// 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
int day = c1.get(Calendar.DAY_OF_WEEK);

Calendar对象可以产生实现特定语言和日历风格的日期时间格式化所需的所有日历字段值(例如日语 - 公历,日语 - 繁体)。 Calendar定义某些日历字段返回的值的范围及其含义。 例如,日历系统第一个月的值为MONTH == JANUARY为所有日历。 其他值由具体的子类定义,如ERA 。 有关详细信息,请参阅博客 jdk_api_1.8-JAVA中文版API手册(免费版)-CSDN博客 中提供的APL工具,查看各个实体文档和子类文档进行深入了解!

Calendar日历操作

  • 日历字段可以用三种方法来改变set() , add()roll() 。

  • 此外,与set()不同, add()是强制立即重新计算日历的毫秒数和所有字段。

 

 1、add()   

1)要在当前年月日上添加一天,可以使用Calendar类的add方法,并将时间单元设置为Calendar.DAY_OF_MONTH,示例如下:

import java.util.Calendar;
 
public class Calendar1 {
    @Test
    public void Test(){
        //Calendar日历类型
        Calendar calendar = Calendar.getInstance();
        System.out.println("当前日期是:" + calendar.getTime());
 
        // 在当前日期上增加一天
        calendar.add(Calendar.DAY_OF_MONTH, 1);
 
        System.out.println("增加一天后的日期是:" + calendar.getTime());
    }
}

2)在日期或时间上增加或减少指定的时间单元:

calendar.add(Calendar.YEAR, 1); // 增加1年
calendar.add(Calendar.MONTH, -2); // 减少2个月
calendar.add(Calendar.DAY_OF_MONTH, 7); // 增加7天

2、set()

设置Calendar表示的日期和时间:

calendar.set(Calendar.YEAR, 2022);
calendar.set(Calendar.MONTH, Calendar.JANUARY); // 月份从0开始计数,0表示一月
calendar.set(Calendar.DAY_OF_MONTH, 15);

3、roll()

roll()函数处理,只会对相应的字段进行处理,不会智能的对其它字段也进行逻辑上的改变。
add()函数会在逻辑上改变其它字段,使结果正确。

取某个日历之前的某个月

calendar.set(2002, 0, 12);  //代表2002年1月12日
calendar.roll(Calendar.MONTH, -1);  //这样就将日期设置成了2002年12月12日。
System.out.println(calendar.getTime().toString());

Calendar与Date之间的转换

1)将Calendar转换为Date对象:

Date date = calendar.getTime();

2)将Date对象转换为Calendar:

Date date = new Date();
calendar.setTime(date);

总结不易,希望uu们不要吝啬亲爱的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁文章来源地址https://www.toymoban.com/news/detail-747011.html

到了这里,关于Calendar日历类型常见方法(必看!!)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用 ElementPlus 的日历组件 Calendar 自定义渲染

    使用 ElementPlus中的 Calendar 组件完成自定义渲染 1. 英文改为中文 转为中文的方式:用 ElementPlus的日历组件如何改为中文 2. 修改样式 附源码 3. 自定义头部 4. 增删改功能接入

    2024年04月17日
    浏览(20)
  • Vue中的日历组件 Calendar 实现 考勤打卡记录

    实现效果图 1.由于Calendar没有右上角月份切换的API事件,可以给组件源码添加自定义添加一个事件 2.也可以通过自带的input事件来获取日历 3.vue页面完整代码 注释:this.$m(this.beginTime).format(‘YYYY-MM-DD HH:mm’),是分装的标准时间转化年月日,使用者可通过多种方法自定义处理。

    2024年01月22日
    浏览(35)
  • element-plus日历(Calendar)动态渲染+避坑指南

    #dateCell 驼峰书写

    2024年02月11日
    浏览(29)
  • Vant 的 Calendar 日历组件 自定义日期区间minDate、maxDate

          1.默认日历时间范围是当前时间到往后的6个月,可通过 min-date 和 max-date 自定义日历的范围。       2.设置 type 为 range 后可以选择日期区间,confirm 事件返回的 date 为数组结构,数组第一项为开始时间,第二项为结束时间。       3.可设置allow-same-day 允许选择同一天。

    2024年02月15日
    浏览(27)
  • 【Flutter】Flutter 使用 table_calendar 实现自定义日历

    【Flutter】Flutter 使用 table_calendar 实现自定义日历 你好!今天我要为你介绍一个非常实用的 Flutter 日历组件—— table_calendar 。这个组件不仅功能强大、高度可定制,而且使用起来非常简单。在本文中,我会手把手教你如何使用这个组件,并分享一些实际业务中的应用示例。希

    2024年02月08日
    浏览(32)
  • python自定义日历库,与对应calendar库函数功能基本一致

    目录 自定义日历库 常用列表 日期列表 常用函数 闰年判断 月份天数 元旦序号 日历表头 星期序号 序号及天数 月历字串 打印月历 年历字串 打印年历 对比测试 测试结果 完整代码 运行结果 自定义日历库函数,并使得其与python calendar库中对应的函数功能基本一致。 month_name

    2024年03月20日
    浏览(45)
  • 关于uniapp中的日历组件uni-calendar中的小红点

    如果你使用过uni-calendar组件,可能你觉得这个小红点有点碍眼,但是官方给定的日历组件uni-calendar中如果你想要在某一天上添加一些信息例如:价格,签到,打卡之类,只要标记上就必定会带上小红点,那么我如何有想保留这些信息又把小红点去掉呢? 可以修改一下日历组件

    2024年02月15日
    浏览(38)
  • uni-calendar日历组件更改标点颜色和位置及多个标点显示

    uni-calendar的日历组件显示的标点只能显示一种颜色,并且标点的位置在右上角.而我们在项目中需要实现多种颜色标点的显示,并且标点要显示在日期的正下方. 改之后的效果图: 实现以上的效果我们需要对uni-calendar组件的源码进行修改就可以了,想让这个日历组件实现不同颜色的

    2024年02月12日
    浏览(31)
  • Date、Calendar(日历对象)、LocalDateTime三大时间日期类的各种处理方式【精选集】

          方法1:日期1.before(日期2),判断日期1是否在日期2之前的意思,返回值为boolean; 方法2:日期1.after(日期2),判断日期1是否在日期2之后的意思,返回值为boolean;         控制台:   控制台:   方法1:日期1.before(日期2),判断日期1是否在日期2之前的意思,返回值为boole

    2024年02月05日
    浏览(42)
  • 合宙Air724UG LuatOS-Air LVGL API控件--日历 (Calendar)

    日历 (Calendar) LVGL 提供了一个用来选择和显示当前日期的日历控件。 示例代码 – 高亮显示的日期 highlightDate = lvgl.calendar_date_t() – 日历点击的回调函数 – 将点击日期设置高亮 function event_handler(obj, event) if event == lvgl.EVENT_VALUE_CHANGED then date = lvgl.calendar_get_pressed_date(obj) if date

    2024年02月10日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包