如何检查时间戳是否是当前日期的时间戳

时间:2013-11-20 14:10:49

标签: java timestamp unix-timestamp

我有一个调度程序,需要检查传入的时间戳是否是当天的时间戳。

传入时间戳的格式为Eg:1384956395。

如何在java中检查这个?请帮忙。我没有使用Joda

2 个答案:

答案 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()(或任何其他兼容机制)创建的,您可以执行以下操作:

  1. 创建Calendar个实例,并将小时,分钟,秒和毫秒字段设置为零。今天是0:00:00,0。

  2. 克隆实例并添加1天。你明天会在0:00:00,0。

  3. 现在检查您的时间戳是否在today.getTime()(含)和tomorrow.getTime()之间(不包括)。