码迷,mamicode.com
首页 > 其他好文 > 详细

时间操作类与日历类

时间:2017-10-26 23:20:48      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:date   calendar   

关于时间的类:

java.util.Date  日期操作类

java.util.Calendar  日历类

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

java.text.DateFormat  日期格式类

java.text.SimpleDateFormat  日期格式类

 

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

System.currentTimeMillis();

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

技术分享


运行结果:

技术分享


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

技术分享


运行结果:

技术分享

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


时间操作类Date

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

技术分享

技术分享


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

技术分享

技术分享


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

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

 

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

技术分享

技术分享



日历类Calendar

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

技术分享


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

技术分享

技术分享


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

技术分享


运行结果:

技术分享


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

技术分享


运行结果:

技术分享


本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1976500

时间操作类与日历类

标签:date   calendar   

原文地址:http://zero01.blog.51cto.com/12831981/1976500

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!