20145302張薇《Java程式設計》第七週學習總結

20145302張薇發表於2016-04-17

20145302 《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介面的類

教材學習中的問題和解決過程

20145302張薇《Java程式設計》第七週學習總結
20145302張薇《Java程式設計》第七週學習總結
20145302張薇《Java程式設計》第七週學習總結

程式碼除錯中的問題和解決過程

問題教材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());
    }
}
  • 結果截圖如下:
    20145302張薇《Java程式設計》第七週學習總結

  • 為什麼定位於上海呢?

    本週程式碼託管截圖

    20145302張薇《Java程式設計》第七週學習總結

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

  • 這周的學習令人感到愉悅

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 1500行 15篇 400小時
第一週 10/10 2/2 10/10 基礎知識
第二週 50/60 1/3 35/35 語法知識
第三週 100/160 1/4 25/60 瞭解物件
第四周 150/310 1/5 30/90 物件導向
第五週 390/700 1/6 30/120 處理異常
第六週 300/1000 2/8 30/150 輸入輸出
第七週 300/1300 2/10 20/170 時間程式碼

參考資料

相關文章