20145309《Java程序设计》第七周学习总结
教材学习内容总结
第13章 时间与日期
13.1 认识时间与日期
13.1.1 时间的度量
- 格林威治时间(GMT)
- 世界时(UT)
- 国际原子时(TAI)
- 世界协调时间(UTC)
Unix
时间:Unix
系统的时间表示法epoch
:来自于Unix的系统、平台、软件等选用这个时间作为时间表示法的起算点13.1.2 年历简介
- 儒略历
- 格里高利历
ISO 8601标准
13.1.3 认识时区
日光节约时间
13.2 认识
Data
与Calender
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
实例,或是使用DataFormat
的getDataInstance()
、getTimeInstance()
、getDataTimeInstance()
等静态用法getDateInstance()
、getTimeInstance()
、getDataTimeInstance()
等静态方法主要是取得不同详细程度的日期时间,取得DataFormat
实例时,也可以指定Locale
实例,将日期时间格式化为指定的语系方式- 直接构建
SimpleDateFormat
的好处是可使用模式字符串自定义格式 SimpleDateFormat
有parse()
方法,按照SimpleDateFormat
时指定的格式,将指定的字符串剖析为Date
实例13.2.3 处理时间日期的
Calendar
Calendar
实例取得某个时间日期信息,或者对时间日期进行操作Calendar
是个抽象类,java.util.GregorianCalendar
是其子类,通过Calendar
的getInstance()
取得的Calendar
实例,默认就是取得GregorianCalendar
实例- 取得
Calendar
实例后,可以使用getTime()
取得Date
实例,使用get()
方法并指定Calendar
上的字段枚举常数 - 设定时间日期,不要对
Date
设定,应该使用Calendar
,月份的部分使用枚举常数定义 - 取得
Calendar
实例后,使用add()
方法,改变Calendar
的值,只针对日期中的某个字段加减,使用roll()
方法 - 日历时间可以使用
GregorianCalendar
的setGregorianCalendar()
方法来修改,设为Date(Long.MAX_VALUE)
为纯粹的儒略历,Date(Long.MIN_VALUE)
是纯粹的格里高利历 比较两个
Calendar
的时间日期先后,使用after()
或before()
方法13.2.4 设定
TimeZone
java.util.TimeZone
的getDefault()
来取得默认时区信息- 取得指定时区的
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.
LocalDateTime
、LocalDate
和LocalTime
- 对于片段的时间日期时间的描述,不具时区的时间与日期定义
- 2.
ZonedDateTime
和OffsetDateTime
- 基于
LocalDateTime
、LocalDate
和LocalTime
来补齐缺少的时区信息 - 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程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- jQuery返回顶部实用插件YesTop
只需一句jQuery代码实现返回顶部效果体验:http://hovertree.com/texiao/yestop/ 使用方法:只需引用jQuery库和YesTop插件(jquery.yestop.j ...
- 160229-02、Sublime Text 3 快捷键总结
选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数 ...
- SharePoint 常用操作杂谈
前言 本文完全原创,转载请说明出处,希望对大家有用. 本篇博客是个人总结,一方面以便日后查看,另一方面希望能为其他人提供一些便利. 阅读目录 SharePoint 2010 UserProfile 添 ...
- 使用Git分支开发新特性或修复Bug与使用Git分支开发新特性或修复Bug
使用Git分支开发新特性或修复Bug 通过分支,可以在不影响原有代码的前提下改变代码,主要用于开发新功能新特性.下 一代产品 为已经发布的正式版修复bug 团队开发时为每个人建立一个分支,从而避免相互 ...
- ZOJ 3605 Find the Marble(dp)
Find the Marble Time Limit: 2 Seconds Memory Limit: 65536 KB Alice and Bob are playing a game. ...
- poj3233—Matrix Power Series
题目链接:http://poj.org/problem?id=3233 题目意思:给一个矩阵n*n的矩阵A和一个k,求一个式子 S = A + A2 + A3 + … + Ak. 这个需要用到等比数列 ...
- python学习笔记(二十二)实例变量、实例方法、类变量、类方法、属性方法、静态方法
实例变量:在类的声明中,属性是用变量来表示的.这种变量就称为实例变量,也就是成员变量. 实例方法:在类中声明的方法,例如:my(self),必须实例化之后才可以使用,否则会报错. 类变量:公共的变量, ...
- 简单认识TCP/IP协议
HTTP协议—— 简单认识TCP/IP协议 本文转自: https://www.cnblogs.com/roverliang/p/5176456.html 大学没读计算机专业,所以很多的专业知识都 ...
- PAT 1146 Topological Order[难]
1146 Topological Order (25 分) This is a problem given in the Graduate Entrance Exam in 2018: Which o ...
- win8.1 设置默认输入法为英文
win8.1中文版 输入法默认为微软拼音且为中文,此事在使用类似cmd就很不方便了,这里我们只需要将输入法设置为 “允许我为每个应用窗口设置不同的输入法”即可,操作如下: