Python:时间转换器-'x'天

rqdpfwrv  于 2023-10-21  发布在  Python
关注(0)|答案(1)|浏览(177)

我尝试接受一个以毫秒为单位的epoch时间戳,并返回相同的时间戳减去x天。

def epoch_unseen_time(epoch, days_unseen=globals.DAYS_UNSEEN):
    timestamp = epoch / 1000
    dt = datetime.datetime.fromtimestamp(timestamp)
    delta = datetime.timedelta(days_unseen)
    dt_minus_days = dt - delta
    epoch_minus_days = int(dt_minus_days.timestamp()) * 1000

    return epoch_minus_days

目前,我设置globals.DAYS_UNSEEN的天数为90天。这是为了稍后进行比较,以查看设备的最后审核时间(以历元毫秒为单位输出)是否大于90天。
这是查看上次审核时间是否超过90天的逻辑。

if "devices" in parsed_data:
            data = parsed_data["devices"]
            for item in data:
                if item.get("online", "N/A") == False:
                    last_audit = item.get("lastAuditDate", "N/A")
                    epoch_days_unseen = epoch_unseen_time(last_audit)
                    if last_audit > epoch_days_unseen:
                        unseen_devices_id.append(id)

目前,这方面的产出不如预期。我正在将不超过90天的设备添加到unseen_devices_id列表中。我认为这与epoch_unseen_time()函数没有正确输出有关。我一直在搞砸这件事,似乎让它变得更糟。有什么想法或建议吗?

cnjp1d6j

cnjp1d6j1#

最后,去工作。更改epoch函数以返回天数,然后在比较中将输出与全局值进行比较。DAYS_UNSEEN

def epoch_days_unseen():
        epoch_timestamp_seconds = epoch_timestamp_ms / 1000
        current_timestamp_seconds = time.time()
        time_difference_seconds = current_timestamp_seconds - epoch_timestamp_seconds
        days_ago = time_difference_seconds / (60 * 60 * 24)

        return days_ago

到目前为止,这似乎是为我工作。

相关问题