前言:
在我们学习java web之中,实体类的属性经常会遇到时间类
时间类也是一个很重要的类,
首先我们先了解一下经常使用的时间类
经常使用的时间类也就是这三个类
具体的可以查阅api
http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4
我们这章主要是做三个题目来熟悉一下这三个类的作用
题目:
题目一:计算今天距离本年的国庆(2017-10-1)有多少天?
题目二:计算上上周星期五的日期是?
题目三:计算去年国庆节的第五天是星期几?
解决问题一:
拿到问题,不要觉得做不出来,不然一开始你就输了
拿到问题,先来分析问题
比如说:需要用到哪些变量,用到哪些类的使用
首先是那些量?
今天距离国庆
两个变量,一个是今天的时间,一个是今年国庆的时间
需要用到哪些类?
时间的Date,转换的 SimpleDateFormat,计算的Calendar
1.定义两个变量
2.定义国庆的时间,转换为时间格式
3.计算今天是今年的第几天,国庆是今年的第一天,相减就出来了
1.今天是今年的第几天
2.国庆是今天的第几天
3.计算相差
4.得出结果
解决问题二:
拿到问题,先来分析问题
计算上上周星期五的日期
一想到计算日期,就想到 Calendar 类
要计算上上周,我们一个把一个时间风格当成一个维度
比方说,年,月,日,周,时,分,秒
我们就把周分成一个维度
先计算上上周的日期
在计算那周的星期五的日期
1.先拿到今天的时间
2.计算出本周是一年中的第几周
3.上上周,就是减去2周
4.减去两周的时间,就完成的上上周的时间,
但是我们需要的是上上周的星期五
所以我们换个纬度,计算那周的星期五
为什么是 6 呢,因为周日是一个星期的第一天
所以周五就是 6
5.取出时间
6.核对答案
解决问题三:
去年国庆之后的5天是星期几
分析问题,不能拿今年的时间去判断,因为今年是会变的
所以我们需要用日历类减去一年,
然后把月份和号数设置成十月一号,
然后加上五天,获取星期
1.获取今天的日期
2.年份减一
3.设置月份(0月代表1月,所以9月代表10月)
4.设置号数
5.增加五天
6.获取星期
7.输出结果
8.核实答案
总结:
Date 时间类
SimpleDateFormat:用于转化和解析时间类
Calendar:用于计算时间
尤其是Calendar,有点难掌握,
需要多加练习和多加了解其中的方法和属性