Calendar时间类的使用_calendar.get-程序员宅基地

技术标签: java  开发语言  

一 Calendar类的简单使用

YEAR
MONTH 月(注意月的值是从O开始的,即如果取出的值为0,即为1月)
DATE 
HOUR 以12小时为周期的小时(注意:正午和午夜用O表示,而不是12)
MINUTE 分钟
SECOND 秒钟
MILLISECOND 亳秒
HOUR_OF_DAY 以24小时为周期的小时
DAY_OF_WEEK -星期的第几天,返回值范围1-7,星期日为第1天,星期一为第2天,以此类推
DAY_OF_MONTH -个月中的第几天,从1开始
DAY_OF_YEAR -年中的第几天
WEEK_OF_MONTH -月中第几个星期
WEEK OF YEAR -年中第几个星期
Calendar calendar = Calendar.getInstance();

        System.out.println(calendar.get(Calendar.YEAR));//2022
        System.out.println(calendar.get(Calendar.DATE));//10(10号)
        System.out.println(calendar.get(Calendar.HOUR));//10(12小时为周期)
        System.out.println(calendar.get(Calendar.MINUTE));//41(分钟)
        System.out.println(calendar.get(Calendar.SECOND));//26(秒)
        System.out.println(calendar.get(Calendar.MILLISECOND));//356毫秒(指的是当前时间的毫秒数)
        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//22(24小时为周期)
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//6(星期日为1,以此类推)
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//10(一个月中的第几天)
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//161(一年中的第几天)
        System.out.println(calendar.get(Calendar.WEEK_OF_MONTH));//2(一个月中的第几周)
        System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));//24(一年中的第几周)

二add与roll的区别

roll以日为单位增加,不会超出当前月,以月为单位不会超过当前年,以年为单位增加,会一直累加

  calendar.add(Calendar.DATE,111);//以日为单位,增加111天
        System.out.println(calendar.get(Calendar.DATE));//29(29号)
        System.out.println(calendar.get(Calendar.MONTH));//9(9月)

        calendar.roll(Calendar.DATE,111);
        System.out.println(calendar.get(Calendar.DATE));//1(1号)
        System.out.println(calendar.get(Calendar.MONTH));//5(6月)

三 指定某一时间点

/**设置某一时间点,calendar默认规则为设置哪个,哪个生效,
       没有设置的还是当前时间的数值,例如小时显示23,没有清零,23点则是当前时间的小时*/
calendar.set(1999, 1, 20);
        System.out.println(calendar.get(Calendar.DATE));//20
        System.out.println(calendar.get(Calendar.MONTH));//1
        System.out.println(calendar.get(Calendar.YEAR));//1999

        System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//23


四 样式格式化

将calendar类转化为date再进行格式化

 Date time = calendar.getTime();
        SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
        System.out.println(sdf.format(time));//2022-06-10

五 时间的比较

public boolean after(Object when)//是否在某个时间之后

public boolean before(Object when)//是否在某个时间之前

public int compareTo(Calendar anotherCalendar)//与另一个时间相比

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Lzfnemo2009/article/details/125229166

智能推荐

flutter 项目实践2_jj2d.top-程序员宅基地

文章浏览阅读2.5k次。本片文章来自与我自己的有道云笔记 要看图片请点击链接文档:Day 4_3 项目实践2.md链接:http://note.youdao.com/noteshare?id=f28e3058fea4d26f1b32bdc21f1a220c&sub=A3757D0FAF4C4BC29A8CF2E6F1C8DBD6上次做了什么我们把框架搭好了IndexedStack 分开了基础的页面制作了简单的首页 读取json文件 然后展示我们的首页基本就算制作完了然后我们想做一些展示home_cont_jj2d.top

elasticsearch-head连接问题_elasticsearch 开启xpack head如何连接-程序员宅基地

文章浏览阅读2.8k次。场景:最近打算使用elasticsearch做日志搜索,使用elasticsearch-head作为一个图形化界面查看index、type、document信息。elasticsearch 7.14.1mobz/elasticsearch-head:5地址:https://github.com/mobz/elasticsearch-head看完这个readme文档后,计划使用docker方式进行部署。1.更改elasticsearch.yml文件,包括xpack等配置,示例如下:_elasticsearch 开启xpack head如何连接

Selenium 根据元素文本内容定位_selenium java根据文字定位-程序员宅基地

文章浏览阅读1.8k次。使用xpath定位元素时,有时候担心元素位置会变,可以考虑使用文本内容来定位的方式。例如图中的【评价】按钮,只有按钮文本没变,就可以定位到该元素。_selenium java根据文字定位

Linux中设置固定ip的方法_linux设置固定ip-程序员宅基地

这篇文章介绍了在Linux中设置固定IP的方法,包括使用ifconfig命令查看网络状态、使用ping命令检查网络连接、修改网络配置文件和管理防火墙。

在readthedocs上部署mkdocs文本报错AttributeError:module ‘jinja2‘ has no attribute ‘contextfilter‘解决_attributeerror: module 'jinja2' has no attribute '-程序员宅基地

文章浏览阅读700次。关于在readthedocs上部署mkdocs时遇到的问题_attributeerror: module 'jinja2' has no attribute 'contextfunction

tensorflow版本与cuda cuDNN版本对应使用_tensorflow2对应的cuda-程序员宅基地

文章浏览阅读4.3w次,点赞8次,收藏57次。tensorflow-gpu v1.9.0 |cuda9.0 | cuDNN7.1.4可行 | 备注:7.0.4/ 7.0.5/ 7.1.2不明确tensorflow-gpu v1.8.0 | cuda9.0 | cuDNN 不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4tensorflow-gpu v1.7.0 | cuda9.0 | cuDNN 不..._tensorflow2对应的cuda

随便推点

capilot激活时遇到Sign in failed: Error: network error_sign in failed. reason: could not log in with devi-程序员宅基地

文章浏览阅读922次。capilot激活遇到问题,Sign in failed: Error: network error_sign in failed. reason: could not log in with device flow on cocopilot.org:

mysql 存储过程 序列_Oracle 生成序列号存储过程-程序员宅基地

文章浏览阅读147次。项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展一、序列号存储表-- Create tablecreate table SYS_GENKEY(DATESTR VARCHAR2(50),MAXCOUNT NUMBER,TYP..._mysql 存储过程 序号

java tools.jar包含_无法找到tools.jar-程序员宅基地

文章浏览阅读583次。如果对任何人来说这仍然是一个问题,我对之前的答案有一点澄清。我使用只安装了JDK的ant遇到了同样的问题。虽然,JDK安装程序给了我一个这样的目录结构:Directory of C:\Program Files\Java05/08/2012 09:43 AM .05/08/2012 09:43 AM ..05/08/2012 09:46 A...

阿里云服务器一直提示安全事件如何解决_云服务安全提示什么意思-程序员宅基地

文章浏览阅读1.9k次。阿里云服务器一直发送短信提醒安全事件导致服务器中的然和程序都无法访问的时候该如何处理_云服务安全提示什么意思

Flutter网络请求_flutter provider 网络请求-程序员宅基地

文章浏览阅读2k次。这里主要分享我对于Flutter网络请求方面的内容目的目的很简单,需要完成项目中常规的Http的GET和POST请求服务端接口数据以完成页面部分展示逻辑方案主要实现方案有三种,一种是基于原生的HttpClient来实现,另外两种是基于第三方package来实现:http与diohttpClient原生方式主要基于dart:io库中的httpClient来实现:import 'dart:io';var httpClient = new HttpClient();该 client 支持常用_flutter provider 网络请求

java list 内存溢出_java内存溢出的2种情况-程序员宅基地

文章浏览阅读3.2k次,点赞2次,收藏4次。java程序员在面试经常被问到内存om之后如何处理,但是实际在工作中遇到此类问题的情况却又非常少。进过自己一番总结内存溢出主要分为2种:一、堆内存溢出 OutOfMemoryError从jvm的角度看发生的情况是:1、动态扩展的栈内存无法满足内存分配。2、建立新的线程没有足够内存创建栈。从编码角度看发生的情况是:1、内存中加载的数据量过于庞大,如一次从数据库取出过多数据;2、集合类中有对对象的引用..._java中怎么解决list内存溢出