20145302张薇《Java程序设计》第七周学习总结

java

教材学习内容总结

第十三章

  • 时间的度量

  1. Greenwich Mean Time,格林威治时间,简称GMT时间,由观察太阳而得来;
  2. Universal Time,世界时,UT;
  3. International Atomic Time,国际原子时,TAI;
  4. Coordinated Universal Time,世界协调时间,UTC;
  5. Unix时间,以1970年1月1日00:00:00为起点;
  6. epoch:java.util.Date epoch毫秒数。

  • 年历简介

  1. Julian Calendar(儒略历)四年一闰
  2. Gergorian Calendar(格里高利历)
  3. ISO 8601标准

  • 认识时区一年的毫秒数不是简单的3652460601000

  • 时间轴上瞬间的Date使用Date实例的各getTime可以获得epoch毫秒数,**Data实例只用来当做时间轴上的某一瞬间

  • 格式化时间日期的Dateformat

  1. 利用DataFormat可以对字符串格式进行处理,分别有GetDateInstance、GetTimeInstance、GetDateTimeInstance
  2. 直接构建SimpleDateFormat,可以自定义字符串格式 parse方法可以将指定的字符串剖析Date实例

  • 处理时间日期的Calendar取得Calendar实例后,可以取得年月日信息,可以进行设定,可以进行运算来改变

  • 设定TimeZoneTimeZone的getdefault可以取得默认时区的信息

  • 机器时间观点的APIDate实例只代表机器观点的时间信息

  • 人类时间观点的API

  1. Date实例只代表机器观点的时间信息
  2. 在上面那些类的基础上可以使用ZonedDateTime等来进行补充
  3. 取得月份要通过getValue()方法,而不是使用oridinal()(从0开始)方法

  • 对时间的运算使用Calendar可以进行时间运算,jdk8中也提供了更加方便的时间运算方法以及输出格式,操作相应的temporal类即可

  • 年历系统设计JDK8采用一年历系统设计,也就是说,java.time套件中的类在需要实行年历系统时都是采用单一的ISO8601年历系统。需要明确实行java.time.chrono.Chronology接口的类

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



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

问题教材P436TimeZoneDemo.java中的定位功能有疑问。代码如下:

import static java.lang.System.out;

import java.util.TimeZone;

public class TimeZoneDemo {

public static void main(String[] args) {

TimeZone timeZone = TimeZone.getDefault();

out.println(timeZone.getDisplayName());

out.println("\t时区ID:" + timeZone.getID());

out.println("\t日光节约时数:" + timeZone.getDSTSavings());

out.println("\tUTC 偏移毫秒数:" + timeZone.getRawOffset());

}

}

  • 结果截图如下:

  • 为什么定位于上海呢?

本周代码托管截图

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

  • 这周的学习令人感到愉悦

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标1500行15篇400小时
第一周10/102/210/10基础知识
第二周50/601/335/35语法知识
第三周100/1601/425/60了解对象
第四周150/3101/530/90面向对象
第五周390/7001/630/120处理异常
第六周300/10002/830/150输入输出
第七周300/13002/1020/170时间代码

参考资料

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

以上是 20145302张薇《Java程序设计》第七周学习总结 的全部内容, 来源链接: utcz.com/z/394249.html

回到顶部