显示错误日期的Javascript

显示错误日期的Javascript,javascript,html,Javascript,Html,我目前正在测试运行一个带有路由等的服务器,我试图显示前一个人请求该路由的日期。通常,当我使用新的Date()对象时,我会在本地时间获取它,但由于某些原因,它会以UTC(协调世界时)显示,我不知道如何更改它 我的代码是 var date; var dateArr = []; var counter = 0; router.get('/last.txt', function(req, res) { counter++; date = new Date().toString();

我目前正在测试运行一个带有路由等的服务器,我试图显示前一个人请求该路由的日期。通常,当我使用新的Date()对象时,我会在本地时间获取它,但由于某些原因,它会以UTC(协调世界时)显示,我不知道如何更改它

我的代码是

var date;
var dateArr = [];
var counter = 0;
router.get('/last.txt', function(req, res) {
    counter++;
    date = new Date().toString();
    dateArr.push(date);
    if (counter == 1) {
        res.send("");
    } else {
        res.send(dateArr[counter-1]);
    }

});
但我一直收到以下格式的日期:
2021年3月26日星期五07:24:50 GMT+0000(协调世界时)

任何建议都将不胜感激


编辑:我住在澳大利亚,因此我认为它通常在AEDT中输出。UTC似乎是运行此代码的服务器所在的时区。这很好,您可以很容易地将其转换为客户端上的本地时区。但是,我不会使用
toString
,而是存储
Date
对象或其时间值(
.valueOf()
的结果),或
.toISOString()
的结果,然后将时间值(一个数字)或ISO字符串值发送给客户端。这样,您就不需要依赖服务器的时区。当您将其中一个(时间值或ISO字符串)传递到客户端站点上的
new Date
中时,生成的
Date
将具有相同的日期/时间,但由于它在客户端的时区中运行,因此其本地时间格式化方法,如
toString
getFullYear
,等等。,将使用客户端的本地时区

例如,将代码中的
toString
更改为(例如)
toISOString
,并在客户端上:

const dt = new Date(theStringFromTheServer);
console.log(dt.toString()); // Will use the client's timezone to show the date/time

哇…我知道UTC是法文版,英文版是“协调世界时”,但这可能是我第一次看到CUT被用来指代它。还有,为什么要从服务器发送格式化的日期?通常,服务器会发送时区不可知日期(UTC/Unix时间戳),客户端会相应地对其进行格式化。@VLAZ切口被打错了您是否尝试了
new date().toutString()
?@Anurag yeah,它会返回“TypeError:date.toutString不是函数”