前言:

在我们学习java web之中,实体类的属性经常会遇到时间类

时间类也是一个很重要的类,

首先我们先了解一下经常使用的时间类

java 判断 某天 是否为当月第一天_时间类

经常使用的时间类也就是这三个类

具体的可以查阅api


我们这章主要是做三个题目来熟悉一下这三个类的作用

题目:

题目一:计算今天距离本年的国庆(2017-10-1)有多少天?

题目二:计算上上周星期五的日期是?

题目三:计算去年国庆节的第五天是星期几?

解决问题一:

拿到问题,不要觉得做不出来,不然一开始你就输了

拿到问题,先来分析问题

比如说:需要用到哪些变量,用到哪些类的使用

首先是那些量?

  今天距离国庆

  两个变量,一个是今天的时间,一个是今年国庆的时间

  需要用到哪些类?

  时间的Date,转换的 SimpleDateFormat,计算的Calendar

1.定义两个变量

java 判断 某天 是否为当月第一天_java_02

2.定义国庆的时间,转换为时间格式

java 判断 某天 是否为当月第一天_时间类_03

3.计算今天是今年的第几天,国庆是今年的第一天,相减就出来了

  1.今天是今年的第几天

  

java 判断 某天 是否为当月第一天_java_04

  2.国庆是今天的第几天

  

java 判断 某天 是否为当月第一天_时间类_05

  3.计算相差

  

java 判断 某天 是否为当月第一天_时间类_06

4.得出结果

java 判断 某天 是否为当月第一天_时间格式_07

解决问题二:

拿到问题,先来分析问题

  计算上上周星期五的日期

  一想到计算日期,就想到 Calendar 类

  要计算上上周,我们一个把一个时间风格当成一个维度

  比方说,年,月,日,周,时,分,秒

  我们就把周分成一个维度

  先计算上上周的日期

  在计算那周的星期五的日期

1.先拿到今天的时间

java 判断 某天 是否为当月第一天_java_08

2.计算出本周是一年中的第几周

java 判断 某天 是否为当月第一天_时间格式_09

3.上上周,就是减去2周

java 判断 某天 是否为当月第一天_时间格式_10

4.减去两周的时间,就完成的上上周的时间,

但是我们需要的是上上周的星期五

所以我们换个纬度,计算那周的星期五

java 判断 某天 是否为当月第一天_java 判断 某天 是否为当月第一天_11

为什么是 6 呢,因为周日是一个星期的第一天

所以周五就是 6 

5.取出时间

java 判断 某天 是否为当月第一天_java_12

6.核对答案

java 判断 某天 是否为当月第一天_java 判断 某天 是否为当月第一天_13

解决问题三:

去年国庆之后的5天是星期几

分析问题,不能拿今年的时间去判断,因为今年是会变的

所以我们需要用日历类减去一年,

然后把月份和号数设置成十月一号,

然后加上五天,获取星期

1.获取今天的日期

java 判断 某天 是否为当月第一天_java_14

2.年份减一

java 判断 某天 是否为当月第一天_时间格式_15

3.设置月份(0月代表1月,所以9月代表10月)

java 判断 某天 是否为当月第一天_时间类_16

4.设置号数

java 判断 某天 是否为当月第一天_java_17

5.增加五天

java 判断 某天 是否为当月第一天_java 判断 某天 是否为当月第一天_18

6.获取星期

java 判断 某天 是否为当月第一天_java 判断 某天 是否为当月第一天_19

7.输出结果

java 判断 某天 是否为当月第一天_java_20

8.核实答案

java 判断 某天 是否为当月第一天_java 判断 某天 是否为当月第一天_21

总结:

Date 时间类

SimpleDateFormat:用于转化和解析时间类

Calendar:用于计算时间

尤其是Calendar,有点难掌握,

需要多加练习和多加了解其中的方法和属性