作者taco2548 (T@cO)
看板Ajax
标题Re: [问题] js如何取得其他时区的时间?
时间Fri Mar 22 21:17:37 2019
※ 引述《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;
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.11.21
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1553260660.A.EA3.html
1F:→ satanbaby: 我记得有个方法 只要输入城市名称就能得到时间 03/24 13:09
2F:推 chatnoir: 用moment最简单, 先转utc再+1即可 03/27 23:06