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

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/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90
第五周200/13002/910/90
第六周200/13002/910/90
第七周300/13002/910/90

参考资料

Java学习笔记(第8版)

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

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