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

遇到的第一个问题

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: 判断一个时间是否在一个时间段内 </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);
    }
}
 posted on 2018-09-25 17:07  拖延症重症患者~  阅读(14581)  评论(0编辑  收藏  举报