上面是请求到的时候, 如果判断 这个时间 与 当前时间相比, 是否超过了3个小时呢
=========================
这个问题就算很弱吧,
既然引起了大家这么多的讨论,
那么就有问题的价值,
为什么要踩呢...
上面是请求到的时候, 如果判断 这个时间 与 当前时间相比, 是否超过了3个小时呢
=========================
这个问题就算很弱吧,
既然引起了大家这么多的讨论,
那么就有问题的价值,
为什么要踩呢...
1.不能使用前端的本地时间进行判断!不能使用前端的本地时间进行判断!不能使用前端的本地时间进行判断!
2.需要后台再给一个接口生成时的时间戳(系统当前时间),然后都转化为时间戳,具体提示如下:
let ctime = ‘create_time转化后的时间戳’
let 3hours = `60 * 60 * 3 * 1000` //算出的三个小时的毫秒数
let time =‘系统当前时间’ + 3hours //算出过期时间
if(ctime>time) console.log('超时了!!!!!!');
其实这个问题真正的精髓不是不能用本地时间去判断吗。。。可以看到前面的一些回答,其实包括我当时都是觉得Date.now()就好了,但是这个是不对的,所以可见这个问题还是有价值的,虽然不是这个问题提出来的价值
用时间戳啊
let serverDate = new Date(rawTime.replace(new RegExp(/-/gm), '/'))
let nowDate = new Date()
let myTime = nowDate.getTime() - serverDate.getTime()
if (myTime > 10800000) {
// do something
}
function isThreeHourAgo(time) {
const now = Date.now()
const d = new Date(time)
const secDiff = (now - d) / 1000
return secDiff > 3 * 60 * 60
}let date = new Date(); //now
date.setTime(date.getTime() + 3 * 3600 * 1000); //3hour later
复杂时间操作最好用monent.js
1 回答851 阅读✓ 已解决
1 回答1.1k 阅读
2 回答773 阅读
2 回答617 阅读
2 回答601 阅读
1 回答677 阅读
2 回答520 阅读