20145313张雪纯 《Java程序设计》第7周学习总结

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

参考资料

原文地址:https://www.cnblogs.com/entropy/p/5393265.html