javascript 无法获取unix时间戳的时区

jm81lzqq  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(121)

我试图获取澳大利亚的时区,并打印一个unix时间戳,但时间戳只是读取UTC,而不是澳大利亚时间。
以下是我正在做的:

//Get todays date
var d = new Date()
//convert to timezone
d.toLocaleString("en-US", {timeZone: "Australia/Sydney"});

const insevendays = Math.floor(new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0,30,0) / 1000 + 604800)
d.toLocaleString("en-US", {timeZone: "Australia/Sydney"});

输出的时区不正确。

tgabmvqs

tgabmvqs1#

您的问题似乎是您正在对d执行函数.toLocalString(),但该方法不编辑原始变量,而是返回一个包含所需时区的新字符串。
要修复代码,可以将变量d重新分配给.toLocalString()的输出,如下所示:

//Get todays date
var d = new Date()
//convert to timezone
d = d.toLocaleString("en-US", {timeZone: "Australia/Sydney"});

const insevendays = Math.floor(new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0,30,0) / 1000 + 604800)

相关问题