gpt4 book ai didi

多年前的 javascript 时间戳并考虑闰年

转载 作者:行者123 更新时间:2023-11-30 05:56:13 24 4
gpt4 key购买 nike

我将用户出生日期存储在时间戳中。我用 javascript 计算时间戳。

day = $("#birthday-day").val();
year = $("#birthday-year").val();
month = $("#birthday-month").val()-1;
date = new Date(Date.UTC(year, month, day));
birthdateTimestamp = Math.round(date.getTime() / 1000);

在搜索页面中,我只有年龄字段。根据这个字段,我需要显示匹配这个年龄的用户。我根据年龄字段值时间戳计算,因此我可以在数据库中将其用作条件。

now = new Date();
age = $("#age").val();
date = new Date(Date.UTC(now.getFullYear()-age));
timestampYearsAgo = date.getTime()/1000;

我的问题:这些方法闰年安全吗?或者我会因为闰年而遇到任何问题吗?我很确定第一部分没问题(如果不正确请纠正我),但是对于第二部分,当我根据年龄计算时间戳时,我不确定如何考虑闰年。有人知道吗?

谢谢

最佳答案

您在第二个示例中创建的日期对应于给定年份的 1/1(因为您只提供年、日和月,默认为 0)。这可能不是您想要的。

如果你想要今天某个年龄的人,你应该创建一个对应于今天的日期,然后减去年份,例如:

var lowDate = new Date;
lowDate.setFullYear(lowDate.getFullYear() - age));
lowTimestamp = lowDate.getTime()
var highDate = new Date;
highDate .setFullYear(highDate .getFullYear() - age + 1));
highTimestamp = highDate.getTime()

如果生日时间戳介于 lowTimestamp 和 highTimestamp 之间,则年龄是正确的。

关于多年前的 javascript 时间戳并考虑闰年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11737642/

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