gpt4 book ai didi

javascript - 在 JavaScript 中创建 UTC 日期,添加一天,获取 unix 时间戳

转载 作者:行者123 更新时间:2023-11-28 12:40:48 25 4
gpt4 key购买 nike

我正在尝试在 JavaScript 中构建 UTC 日期,同时指定小时和分钟,然后获取它的时间戳。

例如,如果我有 15 小时和 25 分,我会这样做:

var to_date = new Date();
to_date.setUTCHours(15);
to_date.setUTCMinutes(25);
var to_utc = new Date(to_date.getUTCFullYear(),
to_date.getUTCMonth(),
to_date.getUTCDate(),
to_date.getUTCHours(),
to_date.getUTCMinutes(),
to_date.getUTCSeconds());
var to_unix = Math.round(to_utc.getTime() / 1000);
console.log(to_unix);

问题是这似乎没有返回正确的时间戳。它设置的时间不是 UTC 时间,而是我的时区。知道如何在 UTC 中维护它吗?

如果时间超过了当前时间,我还想添加一天。我尝试检查当前并添加 60*60*24,但这返回的分钟/小时与我指定的不匹配。

任何帮助都会很棒!

谢谢

最佳答案

如果您正在修改现有的日期对象:

var d = new Date();
d.setUTCHours(15);
d.setUTCMinutes(25);
d.setUTCSeconds(0);

d 现在代表今天 15:25 UTC。

如果您从头开始:

var d = new Date(Date.UTC(year, jsmonth, day, utchour, utcminute, utcsecond));

要获取unix时间戳,请使用getTime,它返回自纪元UTC以来的毫秒数,然后除以1000以转换为unix时间(以秒为单位)而不是毫秒):

Math.round(d.getTime() / 1000);

Date.now() 为您提供自纪元以来的当前 UTC 时间(以毫秒为单位)。要添加一天并查看它是否是将来的一天:

d.getTime() + (1000*60*60*24) > Date.now()

关于javascript - 在 JavaScript 中创建 UTC 日期,添加一天,获取 unix 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12413060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com