标签:
时间的度量 格林威治时间,简称GMT时间,由观察太阳而得来;世界时,UT;国际原子时,TAI;世界协调时间,UTC;Unix时间,以1970年1月1日00:00:00为起点而经过的秒数,不考虑闰秒修正;epoch,以1970年1月1日00:00:00为起点而经过的毫秒数。
年历简介 儒略历,四年一闰;格里高利历改革了儒略历;ISO 8601标准在数据定义上大部分与格里高利历相同。 认识时区 日光节约时间。
Date 使用Date实例的各getTime可以获得epoch毫秒数,**Data实例只用来当做时间轴上的某一瞬间;利用DataFormat可以对字符串格式进行处理,分别有GetDateInstance、GetTimeInstance、GetDateTimeInstance
DateFormat java.text.DateFormat复责字符串时间格式处理,DataFormat是个抽象类,其操作类为java.text.SimpleDataFormat,getDataInstance()、getTimeInstance()、getDataTimeInstance()等静态用法;可以直接构建SimpleDataFormat实例,或是使用DataFormat的;直接构建SimpleDateFormat,可以自定义字符串格式 parse方法可以将指定的字符串剖析Date实例
Calendar Calendar实例取得某个时间日期信息,或者对时间日期进行操作;Calendar是个抽象类,java.util.GregorianCalendar是其子类,通过Calendar的getInstance()取得的Calendar实例,默认就是取得GregorianCalendar实例;比较两个Calendar的时间日期先后,使用after()或before()方法;取得Calendar实例后,可以取得年月日信息,可以进行设定,可以进行运算来改变。
TimeZone TimeZone的getdefault可以取得默认时区的信息;Calender在调用getInstance()时可以指定Timezone,如果已经取得Calender实例,可以通过setTimeZone()的方法设定时区。
机器时间观点的API Date实例只代表机器观点的时间信息;使用Instant的静态方法now()取得Instant实例,ofEpochMilli()可以指定Java epoch毫秒数,ofEpochSecod()指定秒数;取得Instant实例后,可以使用plusSecond()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、 MinusNanos()做时间轴上的运算,返回新的Instant实例,代表运算后的时间。
人类时间观点的API Date实例只代表机器观点的时间信息;在上面那些类的基础上可以使用ZonedDateTime等来进行补充;Month是enum类型,取得代表月份的数字,取得月份要通过getValue()方法,而不是使用oridinal()方法。
TemporalAmount 时间计量,新时间和日期用API用类Duration来定义,对于年、月、日、星期的日期差,可使用Period类定义,静态方法ofDays()、ofMonths()、ofWeeks(),返回Period实例。
TemporalUnit plus()方法的另一重载版本,接受java.time.temporal.TemporalUnit实例,java.time.temporal.ChronoUnit是其实做类,使用enum实做。 Temporal plus()定义在Temporal接口上;Instant、LocalDate、LocalDateTime、LocatTime、OffsetTime、ZonedDateTime等类,都操作了 Temporal 接口。
TemporalAccessor Temporal是 TemporalAccessor的子接口。 年历系统设计 DK8采用一年历系统设计,也就是说,java.time套件中的类在需要实行年历系统时都是采用单一的ISO8601年历系统。需要明确实行java.time.chrono.Chronology接口的类。
教材学习中的问题和解决过程 这章教材内容基本都能够理解 代码调试中的问题和解决过程 问题 P441 TemporalAmout 下方的代码
解决过程 按要求输入代码,并且表明了 ofPattern 的类名
结果显示有错误,但并不理解错误原因是什么
注释掉 ofPattern 那一句试试
可以成功通过,那假如用 SimpleDateFormat 的方法来代替代码中的 ofPattern
不可以的,结果显示不能将 Object 转成 Date
那就试试用 Calendar 来重新表达
终于是有可以成功的了。
包java.io中的两个类Reader和Writer,他们是能将字节流以字符流方式进行读写的对象,因此字符流在本质上是以Reader和Writer封装的字节流。Reader和Writer都是抽象类,这两个类都实现了声明close()方法的AutoCloseable接口。
Reader和Writer类以及他们的子类本身都不是流,但是他们提供了一些方法,可用于将底层的流作为字符流读写。因此,通常使用底层的InputStream和OutputStream对象来创建Reader和Writer对象。
利用扩展Thread类创建的多个线程,虽然执行的是相同的代码,但彼此相互独立,且各自拥有自己的资源,互不干扰。
这两章的学习感觉比较难以理解,需要更多外延学习和自己实践来去深入理解,单纯看书是远远不够的。
目标 | 代码行数 | 博客量 | 学习时间 | 重要成长 |
---|---|---|---|---|
目标 | 4000行 | 30篇 | 400小时 | ---- |
第一周 | 100/4000 | 2/30 | 15/400 | hello java |
第二周 | 350/4000 | 3/30 | 40/400 | 流程控制 |
第三周 | 500/4000 | 4/30 | 50/400 | 类与对象、封装 |
第四周 | 700/4000 | 5/30 | 70/400 | 继承、接口 |
第五周 | 950/4000 | 6/30 | 90/400 | 异常与资源管理 |
第六周 | 1200/4000 | 8/30 | 120/400 | 输入输出 |
标签:
原文地址:http://www.cnblogs.com/5301z/p/5402849.html