クライアントとサーバ間の時間差の解消


最近開発されたサービスのほとんども海外で利用できるようになった.海外でサービスを使用し、使用するデバイスの国/地域と時間を韓国以外に設定すると、クライアントが使用するコードは異なる時間を返します.
私が現在使用している機器は、大韓民国標準を使用するように設定されています.

この状態では、次のコードと結果は次のとおりです.
new Date();
//Fri Feb 18 2022 08:13:49 GMT+0900 (한국 표준시)
今回は、装置の時間をアメリカに変更します.

同じコードには、次の結果が表示されます.
new Date();
Thu Feb 17 2022 17:15:19 GMT-0600 (북미 중부 표준시)
これはサービスの性質によって判断される問題だが、サーバーが時間をチェックし、画面上の「要求」で時間を受信して使用する場合、サーバーは大韓民国標準時間を使用するが、画面は北米中部標準時間を使用するため、大韓民国標準時間を使用しないユーザーは不適切なエラーに遭遇する.
状況は違うが、画面には大韓民国の標準時間に統一する方法もある.
次のコードを参照してください.
const now = new Date();
const utcDate = now.getTime() + (now.getTimezoneOffset() * 60 * 1000);
const korDate = new Date(utcDate + 9 * 60 * 60 * 1000);
わが国ではグリニッジ標準時間+9 Hを使用しているため、UTC標準時間は9時間増加するごとに増加している.
前述したように、北米中部規格を使用する場合であっても、画面上では大韓民国規格を使用することができる.もちろん、new Date()と比較して、サーバの時間は応答リーダーに変換されることが多い.
結果は次のとおりです.
Fri Feb 18 2022 08:22:47 GMT-0600 (북미 중부 표준시)