【问题标题】:How to check if the timestamp is current date's timestamp [duplicate]如何检查时间戳是否是当前日期的时间戳[重复]
【发布时间】:2013-11-20 14:10:49
【问题描述】:

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

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

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

【问题讨论】:

标签: java timestamp unix-timestamp


【解决方案1】:

您发布的时代以秒为单位。 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)) {
    }
}

如果您不想使用默认时区,也可以更改时区,以防输入纪元位于不同的时区。

【讨论】:

  • 为我工作,tnx!我很欣赏这样易于测试和导入的工作代码的答案! [顺便说一句,如果 ;)],你会错过第二个 ")"]
【解决方案2】:

假设您的时间戳是通过System.currentTimeMillis()(或任何其他兼容机制)创建的,您可以执行以下操作:

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

  2. 克隆实例并添加 1 天。您将在明天 0:00:00,0 到达。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-26
    • 2013-03-10
    相关资源
    最近更新 更多