鍍金池/ 問答/HTML/ 求一個(gè)js 判斷時(shí)間是否超過 當(dāng)前3小時(shí)的

求一個(gè)js 判斷時(shí)間是否超過 當(dāng)前3小時(shí)的

圖片描述

上面是請(qǐng)求到的時(shí)候, 如果判斷 這個(gè)時(shí)間 與 當(dāng)前時(shí)間相比, 是否超過了3個(gè)小時(shí)呢

=========================
這個(gè)問題就算很弱吧,
既然引起了大家這么多的討論,
那么就有問題的價(jià)值,
為什么要踩呢...

回答
編輯回答
使勁操

1.不能使用前端的本地時(shí)間進(jìn)行判斷!不能使用前端的本地時(shí)間進(jìn)行判斷!不能使用前端的本地時(shí)間進(jìn)行判斷!

2.需要后臺(tái)再給一個(gè)接口生成時(shí)的時(shí)間戳(系統(tǒng)當(dāng)前時(shí)間),然后都轉(zhuǎn)化為時(shí)間戳,具體提示如下:

let ctime = ‘create_time轉(zhuǎn)化后的時(shí)間戳’
let 3hours = `60 * 60 * 3 * 1000` //算出的三個(gè)小時(shí)的毫秒數(shù)
let time =‘系統(tǒng)當(dāng)前時(shí)間’ + 3hours //算出過期時(shí)間
if(ctime>time) console.log('超時(shí)了?。。。。。?);
2018年7月26日 01:29
編輯回答
負(fù)我心

其實(shí)這個(gè)問題真正的精髓不是不能用本地時(shí)間去判斷嗎。。??梢钥吹角懊娴囊恍┗卮?,其實(shí)包括我當(dāng)時(shí)都是覺得Date.now()就好了,但是這個(gè)是不對(duì)的,所以可見這個(gè)問題還是有價(jià)值的,雖然不是這個(gè)問題提出來的價(jià)值

2018年2月18日 22:11
編輯回答
陪她鬧

將本地時(shí)間戳減去3小時(shí)的 轉(zhuǎn)換成格林威治時(shí)間 然后 對(duì)比就行了

2017年8月9日 04:38
編輯回答
骨殘心

時(shí)間轉(zhuǎn)換為時(shí)間戳去計(jì)算

2017年11月2日 08:36
編輯回答
離人歸

用時(shí)間戳啊

let serverDate = new Date(rawTime.replace(new RegExp(/-/gm), '/'))
let nowDate = new Date()
let myTime = nowDate.getTime() - serverDate.getTime()
if (myTime > 10800000) {
    // do something
}
2018年5月29日 07:49
編輯回答
柚稚

需要更詳細(xì)的功能,可以看看moment庫……
各種和時(shí)間相關(guān)的處理……看看文檔。

2017年1月20日 19:36
編輯回答
巫婆

靠前端校驗(yàn)時(shí)間,看恐怕不對(duì)哦。比如修改下手機(jī)時(shí)間,就會(huì)不對(duì)了

2017年3月2日 20:25
編輯回答
無標(biāo)題
Date.now()-new Date(create_time)>3*60*60*1000
2017年3月15日 19:28
編輯回答
野橘
function isThreeHourAgo(time) {
  const now = Date.now()
  const d = new Date(time)
  const secDiff = (now - d) / 1000
  return secDiff > 3 * 60 * 60
}
2017年12月24日 07:42
編輯回答
耍太極
let date = new Date(); //now
date.setTime(date.getTime() + 3 * 3600 * 1000); //3hour later

復(fù)雜時(shí)間操作最好用monent.js

2018年3月28日 12:22