您好我正在尝试创建一个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;
当我提醒unix时间戳并将其转换回日期时间虽然它落后一小时并代表22:59:59而不是23:59:59。
如果我想要晚上11点,我必须将24传递给小时参数的日期函数而不是23,这是对的吗?
我位于英格兰所以我的时间应该是格林尼治标准时间
答案 0 :(得分:5)
new Date()
将在您的时区中创建日期,而时间戳则以UTC为单位。您似乎处于BST(GMT + 1),因此出现了一个错误。
相反,请创建日期,然后使用setUTCHours(23)
,setUTCMinutes(59)
和setUTCSeconds(59)
来获取正确的时间戳。