gpt4 book ai didi

javascript - 如何使用 moment.JS 检查 SQL 获取的 dateTime 对象的时间戳是否比另一个旧?

转载 作者:行者123 更新时间:2023-12-02 22:17:42 24 4
gpt4 key购买 nike

我使用 AJAX 调用从 PostgreSQL DB 查询 dateTime 对象,该调用返回以下格式:

2019-12-13T22:59:59Z // print type of: `undefined`

我现在想要将该对象的时间戳与当前时间 now 进行比较,如果时间戳与当前时间相比不早于 5 秒,则触发一个函数。

我的想法是计算以秒为单位的差异并检查<> 5的结果。

但是如何将数据库获取的 dateTime 对象转换为 moment 对象以便能够比较它们?

编辑:

由于提供的评论得出的结论,我改变了逻辑并最终出现以下问题:

我在 SQL 中有一个时间戳,它其次发生变化。我使用 AJAX 获取此时间戳,并希望在新时间戳不比前一个时间戳早 5 秒时触发一个函数。

我设置了 moment.js 对象来计算差异。现在我的问题是,在第一次迭代时 latestTick 未定义。

我如何设计一个循环,它比较两个时间戳并始终将 latestTicklastTick 更新为下一次迭代(并且在第一次迭代时也不会出错)迭代)?

Javascript:

Ajax call...
[...]
lastTick = response[0].fields.account_lastTick.toString()
lastTick1 = lastTick.slice(0, 10)
lastTick2 = lastTick.slice(11, 19)
lastTick = lastTick1 + ' ' + lastTick2
lastTick = moment(lastTick, 'YYYY-MM-DD hh:mm:ss')

if ((lastTick.diff(latestTick, 'seconds')) != 0) {
console.log('not Zero')

} else {
console.log('Zero')
}
latestTick = moment(lastTick, 'YYYY-MM-DD hh:mm:ss')
[...]

最佳答案

让您了解如何在 Moment.js 中比较时间。你可以这样做

import moment from "moment"
const dateTimeStr = "2019-12-13T22:59:59Z" // your DB already includes timezone in the response (UTC+00:00)
const dateTimeMoment = moment(dateTimeStr)
const next5MinsMoment = moment().add(5, 'minutes')

if(dateTimeMoment.isBefore(next5MinsMoment)) {
// fire function call
}

关于javascript - 如何使用 moment.JS 检查 SQL 获取的 dateTime 对象的时间戳是否比另一个旧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com