教材学习内容总结

认识时间与日期

1.格林威治时间(GMT):通过观察太阳而得,因为地球公转轨道为椭圆形且速度不一,本身自传减速而造成误差。

2.世界时(UT):通过观测远方星体跨过子午线而得,受地球自转速度影响有误差。

3.国际原子时(TAI):将秒的国际单位定义为铯原子辐射振动9192631770周耗费的时间。

4.世界协调时间(UTC):保持TAI和UT时间误差不要过大采用了闰秒修正。

5.Unix时间:Unix系统时间表示法,定义为UTC时间1970年1月1日为起点经过的秒数,不考虑闰秒修正。

6.epoch:某个特定时间开始,时间轴上的某一瞬间。

7.ISO 8601标准:统一时间日期的数据交换格式,例如:yyyy-mm-ddTHHH:MM:SS.SSS等。

8.UTC偏移:精度每15度偏移1小时,通常表示Z符号。

Date与DateFormat

1.Date:取得系统时间,方法之一就是使用System.currentTimeMillis()方法,返回long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数。Date有两个构造函数可以使用,一个可使用epoch毫秒数构建,另一个为无自变量构造函数,内部亦是使用System.currentTimeMillis()取得毫秒数,调用getTime()可取得内部保存的epoch毫秒数值。
p429DateDemo.java运行结果

2.DateFormat:DateFormat是个抽象类,其操作类是java.text.SimpleDateFormat,可以处理字符串时间格式。可以通过DateForm的各种静态方法进行格式化,使用模式字符串自定义格式,使用parse()方法将指定的字符串剖析为Date实例。
p430DateFormatDemo.java运行结果

Calendar:

1.Calendar:想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。Calendar是个抽象类,java.util.GregorianCalendar是其子类,操作了儒略历与格里高利历的混合历。可以设定时间日期等字段,使用add()方法改变Calendar的时间,使用roll()方法加减日期中某个字段,使用after()before()方法比较两个Calendar的时间日期先后。

p435CalendarUtil.java运行结果

2.TimeZone:Calendar时会使用默认时区,可以使用java.util.TimeZonegetDefault()来取得默认时区信息。

p436TimeZoneDemo.java运行结果

机器时间

1.LocalDateTime:包括日期与时间。

2.LocalDate:只有日期,设定不存在的日期时会抛出DateTimeException错误。

3.LocalTime:只有时间。

4.ZonedDateTime:当补上时区信息后组合起来的时间实际上不存在时,ZonedDateTime会自动更正。

p439ZonedDateTimeDemo.java运行结果

5.OffsetdateTime:单纯代表UTC偏移量,使用ISO 8601。

6.Year、YearMonth、Month、MonthDay:如果只想要表示年或月,使用Year或Month;如果想要表示年月或月日,使用YearMonth或MonthDay。

p440MonthDemo.java运行结果

对时间的运算

1.TemporalAmount:TemporalAmount的操作类是Period和Duration。ofPattern()是java.time.format.DateTimeFormatter的静态方法,对于年、月、星期、日的日期差使用Period类定义,plus()方法可以接受Duration实例来计算,对于时间计量,类Duration来定义。

例:p443HowOld2.java运行结果

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

本周因为重点在于第十三章,所以就偷懒没有看12章,每周一章的感觉还听好的,而且十三章的内容也不多,而且自己看到自己到底活了多久还是蛮有意思的,本周认识到了java中时间的表示和方法,也感受到了这几天的在好天气下运动的快乐。

使用git推送代码

代码托管情况

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 4500行 25篇 350小时
第一周 100/100 1/2 15/15
第二周 150/250 1/3 12/27
第三周 400/650 1/4 22/49
第四周 510/1160 1/5 32/81
第五周 831/1991 1/6 35/116
第六周 945/1991 2/6 26/142
第七周 236/2227 3/9 18/160

最新文章

  1. telnet 传输文件
  2. (二十)WebGIS中图层树功能的设计和实现
  3. iOS图片加载到内存中占用内存情况
  4. Amazon的推荐系统
  5. iOS 关于AFNetworking ssl 待完成
  6. dfs常见的配置文件中的value与description
  7. 【转】Android源码学习(2)使用Git和Repo进行版本管理
  8. 引用 IP电话的原理结构及其关键技术
  9. gcc 编译
  10. Linux下修改键盘映射
  11. JS中this到底指哪个对象
  12. lintcode 在O(1)时间复杂度删除链表节点
  13. Java的selenium代码随笔(6)
  14. LeetCode:146_LRU cache | LRU缓存设计 | Hard
  15. A Magic Lamp -- hdu -- 3183
  16. 使用gradle的application插件进行Spring-boot项目打包
  17. SpringCloud统一配置之使用配置
  18. Scrapy项目之User timeout caused connection failure(异常记录)
  19. 关于Haxe3新特性“内联构造方法”的解释
  20. android开发学习之ViewPager滑动事件讲解

热门文章

  1. 【阿里李战】解剖JavaScript中的 null 和 undefined
  2. PHP二维数组排序(list_order)
  3. [Keygen]IntelliJ IDEA 14.1.7
  4. hihoCoder 1196 高斯消元·二
  5. linux下添加mysql用户并授权
  6. chrome浏览器跨域设置
  7. 如何更高效地定制你的bootstrap
  8. connect 链接失败: 查找不到 signal
  9. C/C++:C++中static,extern和extern "C"关键字
  10. placeholer 换行