// UTC から時差分を差し引きしたタイムスタンプを取得する関数
const getAreaTimestamp = (offset) => { // offset はタイムスタンプを取得したい地域の時差
const date = new Date();
const utc = date.getTime();
const deviceOffset = date.getTimezoneOffset();
return utc + (1000 * 60 * (deviceOffset + (offset * 60)));
};
// タイムスタンプから日時を取得
const offsetDate = new Date(getAreaTimestamp(3)); // UTC+3 の地域の日時を取得
console.log(offsetDate); // Fri Mar 03 2017 06:16:40 GMT+0900 (JST)
上記の GMT+0900 (JST)
の箇所はデバイス情報のままなので偽の値です。
必要があればそこは静的に記述で OK かなと思いますので、特に問題はないかと。
あと、UTC
と 求めたい地位域の UTC 時差
と デバイスの時間の UTC 時差
を比べて出力してるので、
デバイスの時間
が間違ってたら正しい日時を取得できないです。