20145313张雪纯 《Java程序设计》7周学习总结
教材学习内容总结
- 1967年定义的国际原子时,将秒的国际单位定义为铯原子辐射振动9192631170周耗费的时间。
- 为了简化日后对时间的修正,1972年UTC采用了闰秒修正。
- 如果想取得系统时间,方法之一是使用System.currentTimeMillis()方法,返回的是long类型整数,代表1970年1月1日0时0分0秒0毫秒至今经过的毫秒数,以此方法取到的是机器的时间观点,代表时间轴上的某一瞬间。
- Date现在建议作为时间轴上的瞬时代表,要格式化日期则通过DateFormat,如果想要想要取得某个时间日期信息,或者是对时间日期进行操作,可以使用Calendar实例。
- Calendar是个抽象类,java.util.GregorianCalendar是其子类。通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例。
- 取得Calendar实例后,可以使用getTime()取得Date实例,如果想取得年月日等字段,可以使用get()方法并指定Calendar上的字段枚举常数。
教材学习中的问题和解决过程
P439
package cc.openhome;
import static java.lang.System.out;
import java.time.*;
public class ZonedDateTimeDemo {
public static void main(String[] args) {
LocalTime localTime = LocalTime.of(0, 0, 0);
LocalDate localDate = LocalDate.of(1975, 4, 1);
ZonedDateTime zonedDateTime = ZonedDateTime.of(
localDate, localTime, ZoneId.of("Asia/Taipei"));
out.println(zonedDateTime);
out.println(zonedDateTime.toEpochSecond());
out.println(zonedDateTime.toInstant().toEpochMilli());
}
}
如果组合起来的时间实际上不存在,ZoneDateTime会自动更正,不会抛出异常,那如何确定组合的时间到底是否存在?
代码托管截图
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/1 | 20/20 | 编写简单程序 |
第二周 | 350/550 | 1/2 | 30/30 | 用IDE调试修改程序 |
第三周 | 500/1050 | 1/3 | 35/85 | |
第四周 | 500/1550 | 1/4 | 30/115 | |
第五周 | 500/2050 | 1/5 | 30/145 | |
第六周 | 700/2750 | 2/7 | 30/175 | |
第七周 | 300/3050 | 2/9 | 20/195 |