- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器时间观点的API
* * * * * * * * * * * * * * * * 人类时间观点的API 如果只想表示2014年,可以使用Year 如果想表示2014/5,可以使用YearMonth 如果只想表示5月,可以使用Month 如果想表示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就是中华民国年历,也就是台湾通行的年历系统 将公元年月日转换为民国年月日 想要同时表示民国日期与时间 * * * * * * * * * * * * * * * * * * * * * * * 时间与日期 学习目标 建立时间与日期的认知 认识Date与Calendar 使用JDK8新的时间日期API 区分机器与人类时间概念 时间的度量 格林威治标准时间 世界时 国际原子时 世界协调时间 Unix时间 epoch 时间的度量 就目前来说,即使标注为GMT,实际上谈到时间指的是UTC时间 秒的单位定义是基于TAI,也就是铯原子辐射振动次数 UTC考虑了地球自转越来越慢而有闰秒修正 Unix时间是1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒 年历简介 儒略历 格里高利历 ISO8601标准 时间日期表示方法的标准,用以统一时间日期的数据交换格式 认识时区 牵涉到地理、法律、经济、社会甚至政治等问题 UTC偏移(offset) 有些国家的领土横跨的经度很大,一个国家有多个时间反而造成困扰,因而不采取每15度偏移一小时的作法 日光节约时间(Daylight savingtime)、夏季时间(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实例 Calendar是个抽象类 java.util.GregorianCalendar是其子类,实作了儒略历与格里高利历的混合历 处理时间日期的Calendar 列举值的一月是从0数字开始: 处理时间日期的Calendar 改变Calendar的时间 处理时间日期的Calendar 预设的改历时间为格里高利历1582年10月15日星期五 单纯地使用365 * 24 * 60 * 60 *1000当作一年的毫秒数并用以计算使用者岁数是不对的 设定TimeZone 使用java.util.TimeZone的getDefault()来取得默认时区信息 设定TimeZone 想要取得
文档评论(0)