20145238-荆玉茗 《Java程序设计》第7周学习总结
20145238 《Java程序设计》第7周学习总结
教材学习内容总结
第13章时间与日期
13.1.1
·即使标注为GMT(格林威治时间),实际上谈到的的是UTC(Unix时间)时间。
·秒的单位定义时基于TAI。也就是铯原子辐射的振动次数。
·UTC考虑了地球自转越来越慢而有闰秒修正,确保UTC与UT相差不会超过0.9秒。最近一次的闰秒修正为2012年6月30日。
·Unix时间是1970年1月1日00:00:00为起点二经过的描述,不考虑闰秒,很多Unix系统、平台、软件等,都选择这时间作为时间表示发的起算点。
13.1.2
·儒略历:修正了罗马历隔三年设置一闰年的错误,改采四年一闰。
·格力高利历:将儒略历1582年10月4号星期四的隔天,订为格里高利历1582年10月15日星期五。
·ISO 8601标准,采用统一的数据格式例如:yyyy-mm-ddTHHH:MM:SS.SSS等。
13.1.3
·每个地区的标准时间各不相同,涉及到地理、法律、经济、社会、政治等问题。
13.2.1
·如果想取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。
书p429页范例运行结果如下:

(实际上因为Date实例的时区无法变换,也不建议使用toString()来得知年月日等字段信息,所以也不采用toLocaleString()、toGMTString()这两个方法)
13.2.2
·通过DateFormat的各种静态方法进行格式化:运行结果如下

·SimpleDateFormat还有一个parse()方法,可以按构建SimpleDateFormat时指定的格式,将指定的字符串剖析为Date型,运行结果如下:

13.2.3
·Date建议作为时间轴上的瞬时代表,要格式化时间日期则通过DateFormat,如果想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用calendar。运行范例截图如下:

13.2.4
·使用Calendar时,并没有使用时区信息,这回使用该默认时区,可以使用java.util.TImeZone的getDefault()来取得默认时区信息,运行代码范例如下:

13.3.1
·由于某一时区已经不实施日光节约一段时间了,许多开发者并不知道过去有过日光节约时间,在取得Date实例后,被名称Date误导他们代表日期,所以不应该使用Data实例来得知人类观点的时间信息。
·真正可靠的信息只有内含epoch毫秒数。同时也可以使用Instant的静态方法now()取得代表Java epoch毫秒数的Instant实例。
13.3.2
·LocalDateTime只包括时间与日期,LocalDate只有日期,LocalTime只有时间,他们都是对时间的描述,没有时区信息。
·若需要时区信息,可基于上述三个时间描述的ZoneDateTime和OffsetDateTIme,课本运行范例如下:

·Year、YearMonth、Month、Monthday的课本范例如下:

13.3.3
·TemporalAmount范例运行结果如下:

·TemporalUnit定义了between()等方法,使用操作类ChronoUnit的枚举实例来操作非常方便
·plus()方法定义在Temporal接口上,相对于plus(),也有两个重载版本的minus()方法;
·plus(TemporalAmount amount)
·plus(long amountToAdd,TemporalUnit unit)
·minus(TemporalAmount amount)
·minus(long amountToSubtract,TemporalUnit unit)
教材学习中的问题和解决过程
在时间计算中,时区的计算是非常困难的,在新的时间与日期API中个,UTC偏移量与时区的概念是分开的,OffsetDateTime单纯代表UTC偏移量,使用ISO 8601,如果有LocalDateTIme、LocalDate、Localtime
也可以在分别补齐必要信息后,取得UTC偏移量。
代码调试中的问题和解决过程
在运行DateFormatDemo中,提示它是公共的,应该在该文件的.java中声明,代码中定义的本来就为public class,DateFormatDemo。之后去除public之后就能成功运行了。
其他

学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 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 |
参考资料
20145238-荆玉茗 《Java程序设计》第7周学习总结的更多相关文章
- #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践
20145238荆玉茗<网络对抗>-逆向及Bof进阶实践 实践目的:注入shellcode 准备一段shellcode代码 Shellcode实际是一段代码(也可以是填充数据),是用来发送 ...
- 20145238-荆玉茗 《Java程序设计》第一周学习总结
20145238 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台:由于java领域的应用越来越广,根据不同级别的应用开发区分了不同的应用版本,后正式更名为Java ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
随机推荐
- TCP/IP协议中几个缩写词的含义 MSL、TTL和RTT 报文最大生存时间 跳数(即生存时间) cs往返时间 MSL要大于TTL知道为什么吗?
MSL.TTL和RTT简介 1.MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃.因为 ...
- java编程--04比较几个常用的日期时间相关类的区别
第一篇,介绍日期的比较 第二篇,介绍日期的格式化 第三篇,介绍关于日期常用的计算 第四篇,比较几个常用的日期时间相关类的区别 第五篇,jdk9对日期类进行了更新,写一些i自己的学习心得. 下面以一组思 ...
- python单元测试框架-unittest(五)之跳过测试和预期失败
概要 @unittest.skip(reason): skip(reason)装饰器:直接跳过测试,并说明跳过测试的原因. @unittest.skipIf(reason): skipIf(condi ...
- express --- session详解
之前一直做前端相关的工作,所以不太清楚session,也没有主动了解,最近在学node,对session的认识又有所加深,故总结之. 注: 关于session的一些配置问题,可以看这里. 第一部分: ...
- WebGL 踩坑系列-3
WebGL 踩坑系列-3 绘制球体 在 WebGL 中绘制物体时需要的顶点是以直角坐标表示的, 当然了,gl_Position 是一个四维的向量,一般将顶点赋值给 gl_Position 时,最后一维 ...
- win8中如何设定editplus为txt默认打开程序
设定EditPlus为TXT默认打开方式吧. 首选,打开我们的EditPlus 接着,点击[工具]菜单,点击[参数设置]这个菜单项 来到设定界面 找到[设置&语法]这个选项,然后可以看到里面有 ...
- iOS 状态栏设置为白色
1.首先需要再info.plist中添加一项View controller-based status bar appearance为no 2.在需要的地方添加代码 [[UIApplication sh ...
- Java之美[从菜鸟到高手演变]之智力题【史上最全】 (转)
原文地址:http://blog.csdn.net/zhangerqing/article/details/8138296 PS:在一次偶然的机会中,发现了这篇文章.希望大家能开动脑经. 智力题,每个 ...
- SSM环境下配置log4j输出sql和异常到控制台和本地日志文件中
1.引入日志依赖包 <!--解决Spring使用slf4j输出日志与log4j冲突的问题--> <dependency> <groupId>org.slf4j< ...
- 特殊的流程控制语句break continue exit
break语句可以结束当前的for.foreach.while.do-while.或者switch的执行. for($i=1; $i<10; $i++) { if($i == 5) { echo ...