如何获取用户的年龄(以年为单位)
Posted
技术标签:
【中文标题】如何获取用户的年龄(以年为单位)【英文标题】:How do I get the user's age in years 【发布时间】:2021-05-30 13:38:03 【问题描述】:我想在 javascript (ECMA) 中使用Geolocation
和Date
来询问用户在哪里 以及他们的出生时间并将其转换为年份。我问他们出生在哪里,因为我需要考虑不同的时区。
到目前为止,我的函数会返回用户的年龄:
function birth()
var their_birth_day = new Date("18 May 2005"); // Just as an example
var today = new Date();
var ms_old = today.getTime() - their_birth_day.getTime();
var yrs_old = ms_old/3.154e+10;
return yrs_old;
但是我如何使用他们的位置来使其更准确?
【问题讨论】:
你能解释更多吗? 另外请告诉我 yrs_old 表达式是什么 为什么需要 Geolocation API 来获取用户出生地?您提到时区,您可以使用 Date().getTimezoneOffset() @Tunjay 也许我不知道,我只是需要一种方法来解决时区差异,从而使我的 yrs_old 变量不精确。 @me.nkr yrs_old 是用户生日到今天之间的时间量,以年为单位。换句话说,用户的年龄。我没有四舍五入,但我会将其四舍五入到小数点后 3 位(但忽略这一点,因为这对这个问题并不重要)。 【参考方案1】:function getAge( dateString )
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate()))
age--;
return age;
【讨论】:
以上是关于如何获取用户的年龄(以年为单位)的主要内容,如果未能解决你的问题,请参考以下文章
python:要求用户输入本金,银行年利率和存款的时长(以年为单位),程序输出用户拿到的利息
如何准确获取“年”中两个 DateTime 对象之间的差异 [已关闭,使用 NodaTime] [重复]
R语言ggplot2可视化:自定义设置X轴上的时间间隔(中断以年为单位),使用scale_x_date()自定义设置坐标轴间隔和标签添加标题副标题题注信息