教材学习内容总结

第13章 时间与日期

13.1 认识时间与日期

13.1.1 时间的度量
  • 格林威治时间(GMT)
  • 世界时(UT)
  • 国际原子时(TAI)
  • 世界协调时间(UTC)
  • Unix时间:Unix系统的时间表示法
  • epoch:来自于Unix的系统、平台、软件等选用这个时间作为时间表示法的起算点

    13.1.2 年历简介
  • 儒略历
  • 格里高利历
  • ISO 8601标准

    13.1.3 认识时区
  • 日光节约时间

    13.2 认识DataCalender

    13.2.1 时间轴上瞬间的Data
  • 使用System.currentTimeMillis()方法,取得系统时间,返回 long 类型整数
  • 使用Date实例取得系统时间描述,Date有两个构造函数,一个可使用epoch毫秒数构建,另一个为无自变量构造函数(内部亦是使用System.currentTimeMiilis()取得eqoch毫秒数),调用getTime()可取得内部保存的epoch毫秒数值
  • setTime()(用来设置epoch毫秒数)
  • 字符串时间格式的处理

    13.2.2 格式化时间日期的DataFormat
  • java.text.DateFormat复责字符串时间格式处理,DataFormat是个抽象类,其操作类为java.text.SimpleDataFormat,可以直接构建SimpleDataFormat实例,或是使用DataFormatgetDataInstance()getTimeInstance()getDataTimeInstance()等静态用法
  • getDateInstance()getTimeInstance()getDataTimeInstance()等静态方法主要是取得不同详细程度的日期时间,取得DataFormat实例时,也可以指定Locale实例,将日期时间格式化为指定的语系方式
  • 直接构建SimpleDateFormat的好处是可使用模式字符串自定义格式
  • SimpleDateFormatparse()方法,按照SimpleDateFormat时指定的格式,将指定的字符串剖析为Date实例

    13.2.3 处理时间日期的Calendar
  • Calendar实例取得某个时间日期信息,或者对时间日期进行操作
  • Calendar是个抽象类,java.util.GregorianCalendar是其子类,通过CalendargetInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例
  • 取得Calendar实例后,可以使用getTime()取得Date实例,使用get()方法并指定Calendar上的字段枚举常数
  • 设定时间日期,不要对Date设定,应该使用Calendar,月份的部分使用枚举常数定义
  • 取得Calendar实例后,使用add()方法,改变Calendar的值,只针对日期中的某个字段加减,使用roll()方法
  • 日历时间可以使用GregorianCalendarsetGregorianCalendar()方法来修改,设为Date(Long.MAX_VALUE)为纯粹的儒略历,Date(Long.MIN_VALUE)是纯粹的格里高利历
  • 比较两个Calendar的时间日期先后,使用after()before()方法

    13.2.4 设定TimeZone
  • java.util.TimeZonegetDefault()来取得默认时区信息
  • 取得指定时区的TimeZone实例,可以使用ID字符串
  • TimeZone.getAvaliableIDs()取得可用的ID,返回String[]
  • Calender在调用getInstance()时可以指定Timezone,如果已经取得Calender实例,可以通过setTimeZone()的方法设定时区

    13.3 JDK8新时间日期API

    13.3.1 机器时间观点的API
  • Date是机器的时间观念
  • 日期处理API主要套件命名java.time,机器相关的时间概念Instant
  • 使用Instant的静态方法now()取得Instant实例,ofEpochMilli()可以指定Java epoch毫秒数,ofEpochSecod()指定秒数
  • 取得Instant实例后,可以使用plusSecond()``plusMillis()``plusNanos()``minusSeconds()``minusMillis()``MinusNanos()做时间轴上的运算,返回新的Instant实例,代表运算后的时间

    13.3.2 人类时间观点的API
  • 1.LocalDateTimeLocalDateLocalTime
  • 对于片段的时间日期时间的描述,不具时区的时间与日期定义
  • 2.ZonedDateTimeOffsetDateTime
  • 基于LocalDateTimeLocalDateLocalTime来补齐缺少的时区信息
  • Instant通过atZone()``atOffset()转化成ZonedDateTime和OffsetDateTime,ZonedDateTime和OffsetDateTime可通过toInstant()取得Instant,ZonedDateTime和OffsetDateTime都有toLocalDate()``toLocalTime()``toLocalDateTime()取得localDate、localTime、localDateTime
  • 3.Year``YearMonth``Month``Mothday
  • Month是enum类型,取得代表月份的数字,不要使用oridinal()方法(enum在定义时的顺序,从0开始),使用getValue()方法

    13.3.3 对时间的运算
  • 1.TemporaAmount
  • 操作类Period``Duration
  • 时间计量,新时间和日期用API用类Duration来定义,对于年、月、日、星期的日期差,可使用Period类定义(静态方法ofDays()``ofMonths()``ofWeeks(),返回Period实例)
  • plus()方法接受java.time.temporal.TemporalAmount实例
  • 2.TemporalUnit
  • plus()方法的另一重载版本,接受java.time.temporal.TemporalUnit实例,java.time.temporal.ChronoUnit是其实做类,使用enum实做
  • 3.Temporal
  • plus()定义在Temporal接口上
  • 4.TemporalAccessor

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时  
第一周 200/200 2/2 20/20  
第二周 300/500 2/4 18/38  
第三周 500/1000 1/5 22/60  
第四周 500/1500 1/6 30/90  
第五周 500/2000 1/7 20/110  
第六周 500/2500 2/9 20/130  
第七周 500/3000 2/11 20/150

20145309《Java程序设计》第七周学习总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  8. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175317 《Java程序设计》第九周学习总结

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. Android开源项目分类汇总【畜生级别】

    From :http://blog.csdn.net/forlong401/article/details/25459403?c=6c4cd677a617db4655988e41ee081691#t7 ...

  2. 170324、Spring 处理器和Resource

    1.Spring 框架允许开发者使用两种后处理器扩展 IoC 容器,这两种后处理器扩展 IoC 容器,这两种后处理器可以后处理 IoC 容器本身,或对容器中所有的 Bean 进行后处理.IoC 容器还 ...

  3. Jmeter--压测dubbo接口

    Dubbo Interface Demo:https://blog.csdn.net/qi_lin7/article/details/53759528 Demo2:https://blog.csdn. ...

  4. Spring的泛型依赖注入

    Spring 4.x 中可以为子类注入子类对应的泛型类型的成员变量的引用,(这样子类和子类对应的泛型类自动建立关系)具体说明: 泛型注入:就是Bean1和Bean2注入了泛型,并且Bean1和Bean ...

  5. JavaBean的任务就是: “Write once, run anywhere, reuse everywhere” Enterprise JavaBeans

    javaBean_百度百科 https://baike.baidu.com/item/javaBean/529577?fr=aladdin 区别EJB JavaBean 和 Server Bean(通 ...

  6. Java技术大牛需要学习的25个技能

    你需要精通面向对象分析与设计(OOA/OOD).涉及模式(GOF,J2EEDP)以及综合模式.你应该了解UML,尤其是class.object.interaction以及statediagrams. ...

  7. Python并行编程(七):线程同步之事件

    1.基本概念 事件是线程之间用于通讯的对象.有的线程等待信号,有的线程发出信号.基本上事件对象都会维护一个内部变量,可以通过set方法设置为true,也可以通过clear方法设置为false.wait ...

  8. django中同源策略和跨域解决方案

    一  同源策略 1.1何谓同源? 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源. 举个例子: 下表给出了相对http://a.xyz.com/dir/page.html同 ...

  9. linux rhel unix centos FreeBSD 常用命令

    一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep "model name" /pr ...

  10. 通过进程名称删除进程 ps -ef

    删除进程名为udpserver的进程. kill -9 $(ps -ef|grep udpserver | grep java|awk '{print $2}' ). 1.通过进程名取得进程号: ps ...