您的位置:首页 > 编程语言 > Java开发

20145229吴姗珊 《Java程序设计》第7周学习总结

2016-04-17 21:03 351 查看

20145229吴姗珊 《Java程序设计》第7周学习总结

教材学习内容总结

第13章时间与日期

即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间。

秒的单位定义时基于TAI。也就是铯原子辐射的振动次数。
UTC考虑了地球自转越来越慢而有闰秒修正,确保UTC与UT相差不会超过0.9秒。最近一次的闰秒修正为2012年6月30日。
Unix时间是1970年1月1日00:00:00为起点二经过的描述,不考虑闰秒,很多Unix系统、平台、软件等,都选择这时间作为时间表示发的起算点。

儒略历:修正了罗马历隔三年设置一闰年的错误,改采四年一闰。

时区:大致来说经度15度偏移一个小时,考虑了UTC偏移的时间表示上,通常会标识Z符号
每个地区的标准时间各不相同,涉及到地理、法律、经济、社会、政治等问题。
如果想取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数

SimpleDateFormat还有一个parse()方法,可以按构建SimpleDateFormat时指定的格式,将指定的字符串剖析为Date型

使用Calendar时,并没有使用时区信息,这回使用该默认时区,可以使用java.util.TImeZone的getDefault()来取得默认时区信息
Date建议作为时间轴上的瞬时代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用calendar。
由于某一时区已经不实施日光节约一段时间了,许多开发者并不知道过去有过日光节约时间,在取得Date实例后,被名称Date误导他们代表日期,所以不应该使用Data实例来得知人类观点的时间信息。

若需要时区信息,可基于上述三个时间描述的ZoneDateTime和OffsetDateTIme

真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。
LocalDateTime只包括时间与日期,LocalDate只有日期,LocalTime只有时间,他们都是对时间的描述,没有时区信息。
若需要时区信息,可基于上述三个时间描述的ZoneDateTime和OffsetDateTIme

TemporalUnit定义了between()等方法,使用操作类ChronoUnit的枚举实例来操作非常方便

plus()方法定义在Temporal接口上,相对于plus(),也有两个重载版本的minus()方法;

plus(TemporalAmount amount)

plus(long amountToAdd,TemporalUnit unit)

minus(TemporalAmount amount)

minus(long amountToSubtract,TemporalUnit unit)

教材学习中的问题和解决过程

学习本章有关时间与日期的,只有一些理解方面的问题

同样对于Date实例真正代表的并不是日期,最接近的概念应该是时间轴上特定的某一瞬间。时间精=精度是毫秒,是UTC时间1970年1月1日0时0分0毫秒至某个特定瞬时的毫秒差。

代码调试中的问题和解决过程

本周的学习主要集中在时间、日期上面,难度不是很大,所以代码也没什么主要的问题

本周代码托管截图

















其他(感悟、思考等,可选)

这周学习的内容不是特别难,跟着书上学习基本上就能全部掌握,回顾了前几章的知识,觉得学习还是要有复习有预习,慢慢运用之前学过的知识,学以致用,把java学习不虚度

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2001/117/17
第二周300/3002/315/15
第三周500/5003/313/15
第四周393/3002/315/15
第五周380/3803/314/14
第六周410/4103/312/12
第七周360/3602/315/15

参考资料

Java学习笔记(第8版)

《Java学习笔记(第8版)》学习指导

...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: