为什么javascript落后一小时?

geo*_*310 4 javascript

您好我正在尝试创建一个unix时间戳来表示当天(23:59:59)的最新时间,如下所示:

current_date = new Date();
end = new Date(current_date.getFullYear(), current_date.getMonth(), current_date.getDate(),23,59,59);
end = end.getTime() / 1000;
Run Code Online (Sandbox Code Playgroud)

当我提醒unix时间戳并将其转换回日期时间虽然它落后一小时并代表22:59:59而不是23:59:59.

我必须传递24到小时参数的日期函数,而不是23,如果我想要晚上11点这是对的吗?

我位于英格兰所以我的时间应该是格林尼治标准时间

Nie*_*sol 5

new Date()将在您的时区中创建日期,而时间戳以UTC为单位.您似乎处于BST(GMT + 1),因此出现了一个错误.

而是创建一个日期,然后使用setUTCHours(23),setUTCMinutes(59)setUTCSeconds(59)获得正确的时间戳.