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 标识符TextAD
yYear1996; 96
M月份MonthJuly; Jul: 07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number12
F月份中的星期Number1
E星期中的天数TextTuesday;Tue
aAm/Pm 标记TextPM
H一天中的小时数 (0-23 )Number0
k一天中的小时数 (1-24)Number1
Kam/pm 中的小时数(0-11)Number1
ham/pm中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number50
S毫秒数Number978
z时区General time zonePacificStandard 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: 判断一个时间是否在一个时间段内 </br>
     *
     * @param nowTime 当前时间 </br>
     * @param beginTime 开始时间 </br>
     * @param endTime 结束时间 </br>
     */
    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);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值