20145337《JAVA程序设计》第七周学习总结
2016-04-17 14:18
246 查看
20145337 《Java程序设计》第七周学习总结
教材学习内容总结
时间的度量
格林威治时间GMT,世界时
UT,国际原子时
TAI,世界协调时间
UTC
就目前来说,即使标注为
GMT,实际上谈到时间指的是
UTC时间
秒的单位定义是基于
TAI,也就是铯原子辐射振动次数
UTC考虑了地球自转越来越慢而有闰秒修正,确保
UTC与
UT相差不会超过0.9秒。最近一次的闰秒修正为2012年6月30日,当时
TAI实际上已超前
UTC有35秒之长
Unix时间是1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒,不少来自于
Unix的系统、平台、软件等,也都选择这个时间作为时间表示法的起算点。
Epoch为某个特定时代的开始,时间轴上的某一瞬间。
儒略历:修正了罗马历隔三年设置一闰年的错误,改采四年一闰。
格力高利历:将儒略历1582年10月4号星期四的隔天,订为格里高利历1582年10月15日星期五。
ISO 8601标准,采用统一的数据格式例如:yyyy-mm-ddTHHH:MM:SS.SSS等。
UTL偏移
日光节约时间:也称为夏季时间,基本上就是在实施的第一天,让白天的时间增加一小时,而最后一天结束后再调整一小时回来。如果想取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。
P429范例如下:
package CH7; /** * Created by Administrator on 2016/4/16. */ import java.util.*; import static java.lang.System.*; public class DateDemo { public static void main(String[] args) { Date date1 = new Date(currentTimeMillis()); Date date2 = new Date(); out.println(date1.getTime()); out.println(date2.getTime()); } }
处理时间日期的Calendar
Date建议作为时间轴上的瞬时代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用calendar。建立Calendar实例,可以使用get()方法并指定Calendar上的字段。 使用add()方法改编时间,使用roll()方法只针对日期中的某个字段加减。
设定TimeZone
使用Calendar时,并没有使用时区信息,这回使用该默认时区,可以使用java.util.TImeZone的getDefault()来取得默认时区信息可用的ID可以使用TimeZone.getAvailableIDs()来取得,它会返回String[]
机器时间观点的API
由于某一时区已经不实施日光节约一段时间了,许多开发者并不知道过去有过日光节约时间,在取得Date实例后,被名称Date误导他们代表日期,所以不应该使用Data实例来得知人类观点的时间信息。真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。
人类时间观点的API
LocalDateTime只包括时间与日期,LocalDate只有日期,LocalTime只有时间,他们都是对时间的描述,没有时区信息。若需要时区信息,可基于上述三个时间描述的ZoneDateTime和OffsetDateTIme.
对时间的运算
1.TemporalAmount时间差以Duration定义,日期差以Period定义。
2.TemporalUnit
between()方法用于计算时间差
3.Temporal
4.TemporalAccessor定义了只读的时间对象
教材学习中的问题和解决过程
这周的内容很细致,没什么问题本周代码托管截图
其他(感悟、思考等,可选)
这周的学习任务比较轻松,课本上对时间这部分的讲解也很细致,容易理解学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 | |
第五周 | 200/1300 | 2/9 | 10/90 | |
第六周 | 200/1300 | 2/9 | 10/90 | |
第七周 | 300/1300 | 2/9 | 10/90 |
参考资料
Java学习笔记(第8版)《Java学习笔记(第8版)》学习指导
...
相关文章推荐
- org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction f
- 20145326《Java程序设计》实验二Java面向对象程序设计实验报告
- Struts2从后台传递数据到前台的主要方法和流程
- 20145333 《Java程序设计》第7周学习总结
- 【Java集合源码剖析】Hashtable源码剖析
- Java Executor 框架
- JAVA(HDU)杭电ACM 2955
- Java 容器源码分析之HashMap多线程并发问题分析
- 转载:eclipse中各目录的作用
- JAVA练习题
- 逐步回归算法java实现
- Java常见错误
- java中菜单栏的创建
- java 实现二叉树结构的基本运算详细代码
- Java_String
- java基础知识拾遗(三)
- Eclipse使用相关
- 20145208 《Java程序设计》第7周学习总结
- Spring初探----Bean的装配
- JAVA设计模式概述