我有一个调度程序,需要检查传入的时间戳是否是当天的时间戳。
传入时间戳的格式为Eg:1384956395。
如何在java中检查这个?请帮忙。我没有使用Joda
答案 0 :(得分:6)
你发布的纪元是几秒钟。 Java使用毫秒,因此您必须转换它,然后比较两者。
long epochInMillis = epoch * 1000;
Calendar now = Calendar.getInstance();
Calendar timeToCheck = Calendar.getInstance();
timeToCheck.setTimeInMillis(epochInMillis);
if(now.get(Calendar.YEAR) == timeToCheck.get(Calendar.YEAR)) {
if(now.get(Calendar.DAY_OF_YEAR) == timeToCheck.get(Calendar.DAY_OF_YEAR)) {
}
}
如果您不想使用默认值,也可以更改时区,以防输入时期位于不同的时区。
答案 1 :(得分:0)
假设您的时间戳是通过System.currentTimeMillis()
(或任何其他兼容机制)创建的,您可以执行以下操作:
创建Calendar
个实例,并将小时,分钟,秒和毫秒字段设置为零。今天是0:00:00,0。
克隆实例并添加1天。你明天会在0:00:00,0。
现在检查您的时间戳是否在today.getTime()
(含)和tomorrow.getTime()
之间(不包括)。