JavaScript的Date()函数似乎只能返回本地日期和时间。有没有办法获取特定时区的时间,例如,GMT-9?
结合@Esailija和@D3mon-1stVFW,我弄明白了:你需要有两个时区偏移,一个用于本地时间,一个用于目标时间,以下是工作代码:
var today = new Date();
var localoffset = -(today.getTimezoneOffset()/60);
var destoffset = -4;
var offset = destoffset-localoffset;
var d = new Date( new Date().getTime() + offset * 3600 * 1000)这里有一个例子:http://jsfiddle.net/BBzyN/3/
发布于 2012-06-21 00:56:43
var offset = -8;
new Date( new Date().getTime() + offset * 3600 * 1000).toUTCString().replace( / GMT$/, "" )
"Wed, 20 Jun 2012 08:55:20"
<script>
var offset = -8;
document.write(
new Date(
new Date().getTime() + offset * 3600 * 1000
).toUTCString().replace( / GMT$/, "" )
);
</script>
发布于 2019-09-14 08:47:04
您可以在一行代码中完成此操作:
let d = new Date(new Date().toLocaleString("en-US", {timeZone: "timezone id"})); // timezone ex: Asia/Jerusalem发布于 2012-06-21 00:50:26
var today = new Date();
var offset = -(today.getTimezoneOffset()/60); https://stackoverflow.com/questions/11124322
复制相似问题