時間與日期 學習目標 建立時間與日期的認知 認識Date與Calendar 使用JDK8新的時間日期API 區分機器與人類時間概念.

Slides:



Advertisements
Similar presentations
偵辦侵害營業秘密犯罪之執行情形 法務部調查局. 一、前言 ( 一 )102 年 1 月 30 日公告施行營業秘密法 ( 一 )102 年 1 月 30 日公告施行營業秘密法 修正案,增加侵害營業秘密之刑事 修正案,增加侵害營業秘密之刑事 責任,對於意圖在境外使用而竊取 責任,對於意圖在境外使用而竊取.
Advertisements

课例. 列举出你所知道的国内外 和省市著名的品牌及其生产 的企业名称。 情境导入 探究活动 四人小组讨论: 1 、假如你们四人合伙开 办一个公司,你们将生产经 营什么?说明理由。 2 、你们将采用哪种形式创 立公司 ? 需要准备哪些条件 ?
第 7 章 配合 例子源代码一起使用 Power point 制作:耿祥义 张跃平 普通高等教育 “ 十一五 ” 国家级规划教材 JSP 与 JavaBean.
Power point 制作 耿祥义 张跃平 配合 例子源代码一起使用. 第 5 章 JSP 与 JavaBean JavaBean 是一个可重复使用的软件组件, 是遵循一定标准、用 Java 语言编写的一 个类,该类的一个实例称为一个 JavaBean ,简称 bean.
JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
1 計量技術人員考訓制度. 2 簡 報 大 綱 計量考訓制度簡介 應考須知說明 考試範圍內容、題型及配分權重.
传媒学生应该如何度 过四年大学生活?. 进入大学一个多月了,用一个词形容大 学生活 自卑感 不适应 空虚感 被动感 孤独感 失望感 一、大学新生不适应大学生活的表现:
徐州工业职业技术学院. 人才市场需求 2013 年我国安全类专业统计表 学历层次专业名称专业代码毕业生数招生数在校生数开设学校数 本科 安全工程 专科 安全技术管理 中专 0000.
Java语言的特点 Java开发环境的搭建
採購法規概要 報告人:行政院公共工程委員會 採購申訴審議委員會 科員 陳世超 土木技師高考及格 結構技師高考及格 公務人員高考及格
上海九晶电子材料股份有限公司 招聘简章.
考点作文十大夺魁技法 第28课时 写作(二) 考点作文十大夺魁技法 6-10 ·新课标.
供应商信息录入操作指引 ----山东钢铁集团房地产有限公司.
公司保密工作要求及 院商秘保护工作安排 2014年9月12日.
第十一章 量測、分析及改善 8.0 量測、分析及改善包括: 規劃量測、分析及改善流程; 監督及量測; 不合格品管制; 資料分析及改善.
政府採購錯誤行為態樣 報告人:張錦川 日 期:96年7月.
C语言程序设计 李伟光.
現代中國 議題: 「一帶一路」.
学党章党规、学系列讲话,做合格党员 学习教育
2009年周口市公共机构高效照明产品推介会
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
舊石器時代 位置: 亞洲大陸東緣,西太平洋弧狀列島一部份 背景 形成: 兩千多萬年前逐漸隆起,形成島嶼 生物: 大角鹿、猛瑪象、亞洲大陸原始人 臺東 長濱文化 苗栗 網形文化 臺南 左鎮人目前臺灣發現最早人類化石 代表 文化 1.住在海邊洞穴-短期定居小型隊群 2.以採集、狩獵為生 3.使用礫石砍伐器、片器、尖器.
採購法規概要 報告人:臺北市政府法規委員會 編審 陳世超 土木技師高考及格 結構技師高考及格 公務人員高考及格 國立中興大學土木工程碩士
校园信息管理系统 河北科技大学网络中心 2000/4/10.
第九讲 医院信息系统应用——住院子系统一.
醫務企管室病歷組 黃春男 醫療法- 病歷隱私管理 員工再職教育訓練 醫務企管室病歷組 黃春男
運輸安全白皮書(Ⅲ) 軌道安全篇 主辦單位:運輸安全組.
航空飛行時間計算.
微博红人:留几手.
2013年越秀区十大精品商务楼宇参评资料 中海物业东山广场项目
招投标知识培训 培训人: 日期:2011年04月08日 西安翼舞时风数码科技有限公司.
採購法規概要 報告人:臺北市政府法規委員會 編審 陳世超 土木技師高考及格 結構技師高考及格 公務人員高考及格 國立中興大學土木工程碩士
工商企业管理专业标准 编制说明汇报 汇报人:曾健
『兩岸四地- 校園節能文化推廣』 座談會 2008年1月26日 澳門大學 校園管理總監 宋傑堯.
狮爱阳光 以我为荣 中国狮子联会沈阳会员管理委员会 导狮团
徵收苗栗市福全段147、1588及文心段10、11地號等4筆土地之
中国教科文卫体工会全国委员会 陈志标 (2012年5月9日,中山大学)
指導教授:林孟璋 老師 班級學號:企研二A 姓名:郭千維
防貪專精工作報告 宜蘭縣政府政風處 薛容青.
讲 义 大家好!根据局领导的指示,在局会计科和各业务科室的安排下,我给各位简要介绍支付中心的工作职能和集中支付的业务流程。这样使我们之间沟通更融洽,便于我们为预算单位提供更优质的服务。 下面我主要从三方面介绍集中支付业务,一是网上支付系统,二是集中支付业务流程及规定等,
營建自動化 -營建管理資訊化 授課老師:劉俊杰 副教授 中華民國89年9月27日.
中国人民公安大学经费管理办法(试行) 第一章总则 第四条:“一支笔” “一支笔”--仅指单位主要负责人。负责对本 单位的经费进行审核审批。
废钢铁加工行业相关问题简析 中国废钢铁应用协会 副秘书长 王方杰.
东宝大厦简介及服务特色.
滨海学坛 周刊 总第13期 2012年10月22日 本期编辑:李秀青 温州滨海学校教科室主办.
质量管理 刘春霞
纪念鞍钢宪法诞生50周年! 如何探索符合国情的质量管理之路 鞍钢宪法的现实意义 北京科立特管理咨询公司 张晓东 博士.
企业文化与标准化建设双促进 广西金嗓子有限责任公司 江佩珍.
深圳市威富集团 2010年度院校招聘公告.
项目申报及投资推进工作实务 更多模板、视频教程: 兰溪市发展和改革局 2013年9月 1.
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
第一讲 面向对象程序设计概论 苏州大学 计算机科学与技术学院.
初中图书馆综合阅读课程 图书馆知识普及 2013年3月.
纳税辅导答疑 企业所得税部分 2013年9月.
江苏通瑞环保科技发展有限公司 —招聘简章.
桂冠開發建設 股份有限公司 台北市大安區新生南路二段60號4樓.
財物及勞務採購作業程序及注意事項 報告人 劉麗琴
JAVA语言程序设计 第七章 类的继承性 (上).
南京景点 节能1班,团日活动.
简单工厂模式.
微信商城系统操作说明 色卡会智能门店.
學生學習檔案製作經驗分享 國際貿易實務課程研習 -- 多元升學與技能證照 2010 /04 /30 台中家商
第9章 交期管理.
教育部特殊教育通報網 學生異動、接收操作說明.
方案假設 因果連結 (如果…就會…) 將問題情況轉變為所需服務 確保方案的合理性 利於方案評估 例:青少年墮胎
GridSim Toolkit的使用和开发
方格紙上畫正方形.
大綱 一.受試者之禮券/禮品所得稅規範 二.範例介紹 三.自主管理 四.財務室提醒.
第 5 章 常用类的使用 伍孝金
教師檔案系統資料如何填寫? 如何對應教師評鑑共同基準?.
Presentation transcript:

時間與日期 學習目標 建立時間與日期的認知 認識Date與Calendar 使用JDK8新的時間日期API 區分機器與人類時間概念

時間的度量 格林威治標準時間 世界時 國際原子時 世界協調時間 Unix時間 epoch

時間的度量 就目前來說,即使標註為GMT,實際上談到時間指的是UTC時間 秒的單位定義是基於TAI,也就是銫原子輻射振動次數 Unix時間是1970年1月1日00:00:00 為起點而經過的秒數,不考慮閏秒

年曆簡介 儒略曆 格里高利曆 ISO8601標準 時間日期表示方法的標準,用以統一時間日期的資料交換格式

認識時區 牽涉到地理、法律、經濟、社會甚至政治等問題 UTC偏移(offset) 有些國家的領土橫跨的經度很大,一個國家有多個時間反而造成困擾,因而不採取每15度偏移一小時的作法 日光節約時間(Daylight saving time)、夏季時間(Summer time) 台灣也曾實施過日光節約時間

時間軸上瞬間的Date 取得系統時間,方法之一是使用System.currentTimeMillis() 代表1970年1月1日0時0分0秒0毫秒至今經過的毫秒數 機器的時間觀點

時間軸上瞬間的Date Date也是偏向機器的時間觀點

時間軸上瞬間的Date Date類別是從JDK1.0就已存在的API 除了範例中使用的兩個建構式外,其他版本的建構式都已廢除 getTime()之外的getXXX()方法都廢棄了 setTime()(用來設置epoch毫秒數)外的setXXX()方法也都廢棄了 Date實例基本上建議只用來當作時間軸上的某一瞬間

時間軸上瞬間的Date 不建議使用toString()來得知年月日等欄位資訊 有關於字串時間格式的處理,不再是Date的職責

格式化時間日期的DateFormat 字串時間格式的處理,職責落到了java.text.DateFormat身上 實作類別java.text.SimpleDateFormat 直接建構SimpleDateFormat實例 使用DateFormat的getDateInstance()、getTimeInstance()、getDateTimeInstance()等靜態方法

格式化時間日期的DateFormat

格式化時間日期的DateFormat 直接建構SimpleDateFormat的好處是,可使用模式字串自訂格式

處理時間日期的Calendar 想要取得某個時間日期資訊,或者是對時間日期進行操作,可以使用Calendar實例 java.util.GregorianCalendar是其子類,實作了儒略曆與格里高利曆的混合曆

處理時間日期的Calendar 列舉值的一月是從0數字開始:

處理時間日期的Calendar 改變Calendar的時間

處理時間日期的Calendar 預設的改曆時間為格里高利曆 1582 年 10 月 15 日星期五

單純地使用365 * 24 * 60 * 60 * 1000當作一年的毫秒數並用以計算使用者歲數是不對的

設定TimeZone 使用java.util.TimeZone的getDefault()來取得預設時區資訊

設定TimeZone 想要取得指定時區的TimeZone實例,可以使用ID字串

設定TimeZone 想知道現在哥本哈根的時間

JDK8新時間日期API Date實例真正代表的並不是日期,最接近的概念應該是時間軸上特定的一瞬間 Date狀態仍是可變的 使用Calendar太麻煩、太痛苦了 Calendar狀態可變 JDK8中有了新的時間日期處理API,規格書為JSR310

機器時間觀點的API Date名稱看來像是人類的時間概念,實際卻是機器的時間概念 混淆機器與人類時間觀點會引發的問題之一像是日光節約時間

機器時間觀點的API 台灣已經不實施日光節約時間一段時間了,許多開發者並不知道過去有過日光節約時間 被名稱Date誤導它們代表日期 不該使用Date實例的toString()來得知人類觀點的時間資訊 Date實例應該只代表機器觀點的時間資訊,真正可靠的資訊只有內含的epoch毫秒數

機器時間觀點的API 取得Date實例,下一步該獲取時間資訊應該是透過Date的getTime()取得epoch毫秒數

機器時間觀點的API JDK8新時間日期處理API清楚地將機器對時間的概念與人類對時間的概念區隔開來 新舊API相容上 對於機器相關的時間概念,設計了Instant類別 代表自定義的Java epoch(1970 年 1 月 1 日)之後的某個時間點歷經的毫秒數 新舊API相容上 呼叫Date實例的toInstant()取得Instant 使用Date靜態方法from()將Instant轉Date

人類時間觀點的API 人類在時間概念的表達大多是籠統、片段的資訊 LocalDateTime、LocalDate、LocalTime ZonedDateTime、OffsetDateTime Year、YearMonth、Month、MonthDay

人類時間觀點的API LocalDateTime包括日期與時間LocalDate只有日期 LocalTime只有時間 不具時區的時間與日期定義 基於ISO-8601年曆系統 只是對時間的描述

人類時間觀點的API 如果時間日期需要有帶有時區,可以基於LocalDateTime、LocalDate、LocalTime等來補齊缺少的資訊:

人類時間觀點的API UTC 偏移量與時區的概念是分開的。OffsetDateTime單純代表 UTC 偏移量

人類時間觀點的API 如果只想表示2014年,可以使用Year 如果想表示2014/5,可以使用YearMonth 如果想表示5/4,可以使用MonthDay

對時間的運算 某個日期起加上5天、6個月、3週後會的日期時間是什麼,並使用指定的格式輸出

對時間的運算 JDK8新日期時間處理實現了流暢API(Fluent API)的概念

對時間的運算 先前看過的HowOld範例,也可以使用新時間與日期API改寫

對時間的運算 某個日期起加上5天、6個月、3週後會的日期時間是什麼,並使用指定的格式輸出

對時間的運算 使用實作類別ChronoUnit的列舉實例來實作之前的CalendarUtil範例

年曆系統設計 java.time套件中的類別在需要採行年曆系統時都是採用單一的ISO8601年曆系統 如果需要其他年曆系統呢?需要明確採行java.time.chrono中等實作了java.time.chrono.Chronology介面的類別

年曆系統設計

年曆系統設計 MinguoChronology就是中華民國年曆,也就是台灣通行的年曆系統 將西元年月日轉換為民國年月日 想要同時表示民國日期與時間