首页 > 解决方案 > 检查时间戳是否为 1 小时前 - Groovy

问题描述

我有一个时间戳(submitTime),我需要检查它是否小于 1 小时。时间戳以微秒为单位,包括日期。

currentTime = 1527530605357000000(2018 年 5 月 28 日星期一下午 6:03:25.357)

submitTime = 1527529918658907821(2018 年 5 月 28 日星期一下午 5:51:58.659)

        long currentTime = (long) (new Date().getTime()*1000000)
        submitTime = job.SubmitTime // part of the code
        oneHhour = 3600000000     

        if (currentTime - submitTime > oneHhour) {
            println job.Name + " env is up more than 1 hour";

但它不起作用,因为结果是 686698092179 并且它不代表时间。帮助?

标签: datetimegroovytimestampcompare

解决方案


在 groovy 中,您可以使用更直观的 TimeCategory:

def date = new Date(timestampInLong)

use (groovy.time.TimeCategory) {
     println (date > new Date() - 1.hour)
 }

推荐阅读