我使用AJAX调用从PostgreSQL数据库查询dateTime对象,该调用返回以下格式:2019-12-13T22:59:59Z // print type of: `undefined`现在,我想将该对象的时间戳与当前时间now进行比较,如果时间戳与当前时间相比不早于5秒,则触发一个函数。我的想法是以秒为单位计算差异并检查 5的结果。但是,如何将数据库中获取的dateTime对象转换为moment对象以进行比较?编辑:由于所提供评论的结论,我改变了逻辑,最终遇到以下问题:我在SQL中有一个时间戳记,其次是更改。我使用AJAX获取此时间戳,并且如果新时间戳不早于上一个时间戳5秒,则希望触发一个函数。我设置了moment.js对象以计算差异。现在我的问题是在第一次迭代中latestTick没有定义。如何设计比较两个时间戳并始终为下一次迭代将latestTick与lastTick更新的循环(并且在第一次迭代中也不会出错)?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 - 如何检查SQL提取的dateTime对象的时间戳是否比带有moment.JS的时间戳早?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59335641/ 10-13 08:37