我想根据我得到的毫秒时间得到今天或昨天的一天
I want to get day either is today or yesterday on the basis of miliseconds time i get
我要return今天和昨天的字符串。我从函数中获得的毫秒数,那么我需要做什么呢?我试了很多。
if((data.getStartTimeMilli()-86400000) < data.getStartTimeMilli())
{
return "Today";
}
else
{
return "Yesterday";
}
但它 return 只有今天。
我在函数中传递了两个毫秒值,一个是startdatemili
和enddatemili
。
这是一个日期范围。
如评论中所述,通常 today
并不意味着 24
小时前。
假设现在是2018-10-06 15:20
,2018-10-06 00:01
应该被认为是today
,而2018-10-05 23:59
是yesterday
,虽然他们都在[=14之内=]小时。
此解决方案适用于上述假设。
获取今天的起始毫秒:
ZonedDateTime zonedDateTime = ZonedDateTime.now();
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS);
long millis = zonedDateTime.toInstant().toEpochMilli();
再与之比较:
if((data.getStartTimeMilli() > millis) {
return "Today";
} else
return "Yesterday";
}
但是要小心,开始的毫在 today
之前,并不意味着它是 yesterday
,它可能会早一天。
如果您确实想使用 24 hours
来限制今天:
Instant instant = Instant.now().minusMillis(86400000);
long millis = instant.toEpochMilli();
很多方法可以找到它。
使用简单 Java API:
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
// Assuming we are expecting milliseconds from today or yesterday only.
if(( System.currentTimeMillis() - c.getTimeInMillis()) > 0 )
{
return "Today";
}
else
{
return "Yesterday";
}
我要return今天和昨天的字符串。我从函数中获得的毫秒数,那么我需要做什么呢?我试了很多。
if((data.getStartTimeMilli()-86400000) < data.getStartTimeMilli())
{
return "Today";
}
else
{
return "Yesterday";
}
但它 return 只有今天。
我在函数中传递了两个毫秒值,一个是startdatemili
和enddatemili
。
这是一个日期范围。
如评论中所述,通常 today
并不意味着 24
小时前。
假设现在是2018-10-06 15:20
,2018-10-06 00:01
应该被认为是today
,而2018-10-05 23:59
是yesterday
,虽然他们都在[=14之内=]小时。
此解决方案适用于上述假设。
获取今天的起始毫秒:
ZonedDateTime zonedDateTime = ZonedDateTime.now();
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS);
long millis = zonedDateTime.toInstant().toEpochMilli();
再与之比较:
if((data.getStartTimeMilli() > millis) {
return "Today";
} else
return "Yesterday";
}
但是要小心,开始的毫在 today
之前,并不意味着它是 yesterday
,它可能会早一天。
如果您确实想使用 24 hours
来限制今天:
Instant instant = Instant.now().minusMillis(86400000);
long millis = instant.toEpochMilli();
很多方法可以找到它。
使用简单 Java API:
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
// Assuming we are expecting milliseconds from today or yesterday only.
if(( System.currentTimeMillis() - c.getTimeInMillis()) > 0 )
{
return "Today";
}
else
{
return "Yesterday";
}