时间操作类与日历类

简介:

关于时间的类:

java.util.Date  日期操作类

java.util.Calendar  日历类

java.util.Locale 区域类,用于描述区域

java.text.DateFormat  日期格式类

java.text.SimpleDateFormat  日期格式类

 

唯一能获得系统时间的方式:

System.currentTimeMillis();

只有这个方法才能获得系统时间,需要用长整long类型去得到,因为得到的时间单位是毫秒,所以这个数字比较大需要用long来接收。例如:

0b243be5dbf22a71eda2b213d81a95c7.png


运行结果:

9bc76467b1de54353b81134bf4a01d50.png


可以使用这个方法来简单的测试一下一个程序的运行时间,例如测试一个循环:

610d54f75f97826c8619ed8ac9385624.png


运行结果:

b313813e10e1776ee0ea6c165e49d386.png

循环十亿次的赋值也只需要两毫秒(1000毫秒=1)的时间,可见计算机的速度是相当快的。


时间操作类Date

用这个类构建出对象,使用这个对象可以得到当前的年月日时分秒。例如:

e28c4fba03b70eef06ab59430e850a5b.png

c89dbf906cb4435e026800fa05574c81.png-wh_


  可以使用Date类结合System.currentTimeMillis();方法计算出距离一个特定的时间时间还有多久,例如计算一下当前时间距离2017年的1111日还差多少天:

668b45c78598e15c0f7ef1a43fbc7a32.png

07e075114499b8bd1d3447b0b0c2f57f.png


可以直接设置Date的时间,因为年份是从1900年开始的,所以需要减去1900,月份是从0开始的,所以需要减去1,其他则不需要。

time1需要除是因为,它得到的是毫秒单位,所以除1000表示秒(1000毫秒一秒),接着除60表示分钟(60秒一分钟),再除60表示小时(60分钟一小时),除24表示天(24小时一天)

 

利用乘法打印三天后的时间格式,使用toString方式打印的是原格式,使用toLacaleString打印的是当前的区域时间格式,例如:

0538fb8321dcdcaac0e38905b435e045.png

23647145d42e9eef768000a91ce92182.png



日历类Calendar

Calendar是日历类,是一个抽象类,需要用方法才能得到这个类的对象,例如:

2a4431fabf10585f0fd1aed4a9c2544f.png


  得到对象之后可以使用这个对象得到年月日时分秒,与Date类的区别就是在年上不需要减1900,月份上是加1,其他则一样,代码示例:

9463668b45461b9be224b3748d0bba43.png

93133179cf10c80d4e60e70490a01c83.png


  使用日历类可以获得现在的日期是这个月第几个星期,当前日期是星期几,在一年中现在的日期是第几天,当前日期在一年内是第几个星期等等,例如:

f4439d3f19bacbb5dece95f75feb3e08.png


运行结果:

35f7439beaebf1ec72b63f62a5806ea6.png


日历类里的set方法可以自定义日期,使用getActualMaximum();方法可以得到这个月的最大天数,例如:

809a86553a405ccb74bc0031f4ad7940.png


运行结果:

999d840aa4aaffdd9144d2a33fa9d2a9.png




本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1976500,如需转载请自行联系原作者

相关文章
|
SQL 关系型数据库 MySQL
mysql索引(七)唯一索引
唯一索引(UNIQUE):与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。
902 0
mysql索引(七)唯一索引
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
1979 0
【计算机网络】网络层 : IP 数据报分片 ( 数据分片机制 | 分片示例 | 三种数据长度单位 )
|
存储 人工智能 物联网
云计算助力医疗信息化,推动智慧医疗新模式。
云计算正深刻改变医疗行业,通过高效数据存储、管理与共享,优化医疗资源分配,推动远程医疗发展。它解决了“数据孤岛”问题,强化了数据安全与隐私保护,同时助力智慧医疗建设,降低信息化成本并提升服务效率。未来,云计算将与5G、AI等技术融合,进一步促进医疗服务智能化与规范化,为医疗行业带来全新可能。
855 7
|
安全 网络安全 数据安全/隐私保护
XSS 漏洞可能会带来哪些危害?
【10月更文挑战第26天】XSS漏洞可能会给网站和用户带来诸多严重危害
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
731 1
|
供应链 监控 数据可视化
优化酒店供应链结构:实现成本控制与效率提升
本文探讨了酒店行业在激烈竞争中如何通过成本控制和供应链优化提升运营效率。具体措施包括精细化预算管理、优化人力资源配置、节能减排、供应商管理、采购流程优化及库存管理。引入可视化管理工具如板栗看板,可进一步提高项目管理、数据分析和信息共享的效率,助力酒店在不牺牲服务质量的前提下降低运营成本,增强市场竞争力。
|
Docker 容器
docker中无网络模式(none)
【10月更文挑战第4天】
599 2
|
缓存 JavaScript 前端开发
使用 RTK Query 的好处:可扩展且高效的解决方案
使用 RTK Query 的好处:可扩展且高效的解决方案
427 1
|
XML 前端开发 Java
springMVC01,【第一个springMVC例子(注解版):HelloWorld】
文章介绍了如何使用注解配置创建第一个SpringMVC项目,并讲解了SpringMVC的执行流程,包括配置web.xml、编写springmvc-servlet.xml配置文件、创建带有@RequestMapping注解的控制器层以及运行测试和执行流程小结。
|
域名解析 网络协议 Linux
在Linux中,如何配置DNS服务器?
在Linux中,如何配置DNS服务器?

热门文章

最新文章