躍然一笑
2023-07-20 11:04:17
我想從后端發(fā)送一封自動(dòng)電子郵件,其中包含存儲(chǔ)在我的數(shù)據(jù)庫中的日期。但數(shù)據(jù)庫由 UTC 日期組成。我想將其轉(zhuǎn)換為發(fā)送電子郵件的用戶的當(dāng)?shù)貢r(shí)間。我的想法是,我可以在進(jìn)行 API 調(diào)用時(shí)發(fā)送偏移量。即我new Date().getTimezoneOffset()將其添加或減去數(shù)據(jù)庫中存儲(chǔ)的 UTC 日期。我不確定如何進(jìn)行此計(jì)算,而且我也不確定這種方法是否有效。
1 回答

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
你的做法其實(shí)很好。您可以在前端獲取時(shí)區(qū)差異,并通過 傳遞給后端request.body。
var offset = new Date().getTimezoneOffset();
console.log(offset);
時(shí)區(qū)偏移是 UTC 與本地時(shí)間之間的差異(以分鐘為單位)。請(qǐng)注意,這意味著如果本地時(shí)區(qū)晚于 UTC,則偏移量為正;如果本地時(shí)區(qū)早于 UTC,則偏移量為負(fù)。例如,如果您的時(shí)區(qū)是 UTC+10(澳大利亞東部標(biāo)準(zhǔn)時(shí)間),則將返回 -600。即使對(duì)于給定的區(qū)域設(shè)置,夏令時(shí)也會(huì)阻止該值成為常量。
您可以通過這種方式在后端獲取當(dāng)?shù)貢r(shí)間。
const offset = 540;
var date = new Date();
date.setMinutes(date.getMinutes() - offset);
console.log(date);
添加回答
舉報(bào)
0/150
提交
取消