0

我有 REPORTDATE 字段,我想只取小时和分钟的值。 reportdate.getTime()返回例如:1439967368798

我想比较报告日期的时间(小时和分钟)是否介于:

if reportdate>=06:45 and reportdate<13:45 then a=1;
if reportdate>=13:45 and reportdate<20:45 then a=2;
if reportdate>=20:45 and reportdate<06:45 then a=3;

我没有成功在网上找到一些说明。我应该使用从 getTime (1439967368798) 获得的值还是使用其他方法来尝试这个?

4

2 回答 2

0

我假设这reportDate是一个实例Date。该getTime()函数返回 Date 的基础 long,这就是为什么您会看到这个 long 数字 - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。

您需要做的是将日期转换为日历,然后使用带有适当字段常量的 get() 方法。

此信息适用于没有任何库的 Java 7。使用 JodaTime 或 Java8 Time API 之类的库是明智的。

是一个如何做到这一点的例子。

于 2015-08-19T07:23:03.123 回答
0

像这样?

Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
if (date.after(format.parse("06:45")) && date.before(format.parse("13:45"))) {
 a=1;
}
于 2015-08-19T07:24:12.160 回答