java 假设当前时间_Java判断当前时间是否在某一时间段内

今天有一个任务,判断现在的时间是否在某一个时间段内

遇到的第一个问题

Date类获取日期时间大的方法失效了

问题描述:

在学习Date类时,习惯性的用get方法调用Date()的年月日,发现不怎么好用了,

Date date=newDate();

Stringyear=date.getYear();

尝试了其他的get方法如: getDate()getDay()getHours()getMinutes()getMonth()getSeconds() 等好几个get方法以及对应的set方法都弃用了,那在myeclipse中不能用这些方法,

解决办法:

Date date=new Date();

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");

String time=sdf.format(date);

System.out.println(time);

通过date对象获取到当前的时间, 然后再实例化SimpleDateFormat类时,为其设置日期显示格式"yyyy-MM-dd HH:mm:ss" ,通过第三句代码,将date对象格式化并转化为String 类型输出,就会打印出常见格式的日期了: 2018-9-25 12-12-12

如果仅仅想要获得年,可以将SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 中的"yyyy-MM-dd HH:mm:ss" 改为”yyyy”,这样得到的就只是年了.

其他的获得月、日、周、小时、分钟等的格式与年的相似,并且可以相互组合使用。

字母与代表的意思如下表内容所示。

字母

日期或时间元素

表示

示例

G

是Era 标识符

Text

AD

y

Year

1996; 96

M

月份

Month

July; Jul: 07

w

年中的周数

Number

27

W

月份中的周数

Number

2

D

年中的天数

Number

189

d

月份中的天数

Number

12

F

月份中的星期

Number

1

E

星期中的天数

Text

Tuesday;Tue

a

Am/Pm 标记

Text

PM

H

一天中的小时数 (0-23 )

Number

0

k

一天中的小时数 (1-24)

Number

1

K

am/pm 中的小时数(0-11)

Number

1

h

am/pm中的小时数(1-12)

Number

12

m

小时中的分钟数

Number

30

s

分钟中的秒数

Number

50

S

毫秒数

Number

978

z

时区

General time zone

PacificStandard Time; PST: GMT - 08:00

Z

时区

RFC822 time zone

-0800

如果想要了解更多的格式化日期方法,可以去查看API文档

获取次日的时间

度娘给的答案:

获取系统前一天日期

public static Date getNextDay(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY_OF_MONTH, -1);

date = calendar.getTime();

return date;

}

获取系统当前日期

public static Date getNextDay(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY_OF_MONTH, 0);

date = calendar.getTime();

return date;

}

获取系统下一天日期

public static Date getNextDay(Date date) {

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DAY_OF_MONTH, -1);

date = calendar.getTime();

return date;

}

最后一个问题

如何判断一个时间在一个时间段内

/**

* Description: 判断一个时间是否在一个时间段内

*

* @param nowTime 当前时间

* @param beginTime 开始时间

* @param endTime 结束时间

*/

private boolean belongCalendar(Date nowTime, Date beginTime, Date endTime) {

Calendar date = Calendar.getInstance();

date.setTime(nowTime);

Calendar begin = Calendar.getInstance();

begin.setTime(beginTime);

Calendar end = Calendar.getInstance();

end.setTime(endTime);

return date.after(begin) && date.before(end);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值