※ 引述《aoksc (重出江湖)》之铭言:
: 如果要用js取得某个时区的日期时间
: 那么请问怎么才是正确的作法
: 目前我找文章大致上是说先Date.now()取得timestamp
: 但new Date(timestamp)的结果是本地时间
: 请问可直接加减小时来取得某个时区的时间吗?
: 例如法国是UTC+1
: 台湾是UTC+8
: 所以我取得的日期-7小时就会是法国当下的时间?
: 又如果我不确定网页会开在哪个时区中
: 就不能随便用-7的方法求法国时间
: 那么什么办法才是最佳的解法呢?
坦白说
这个说起来很简单,真的要做还是要动点脑筋
我之前跟你的问题一模一样
最后还是自己写了一套方法解决,给你参考
//将时间转为台湾时间
function getTaiwanDate() {
const date = new Date();
const GMT_8 = date.getHours() + (8 + date.getTimezoneOffset() / 60);
date.setHours(GMT_8);
return date;
}
不论你在世界上的哪一个角落,只要用这个方法
保证得到台湾的时间
//你要的UTC+1
function getUTC_1() {
const date = new Date();
const GMT_1 = date.getHours() + (1 + date.getTimezoneOffset() / 60);
date.setHours(GMT_1);
return date;
}