我如何获得用户的年龄以年为单位

问题描述

我想在 JavaScript (ECMA) 中使用 GeolocationDate 来询问用户在哪里和他们出生的时间,并将其转换为年份。我问他们出生在哪里,因为我需要考虑不同的时区。

到目前为止,我的函数返回用户的年龄:

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;
}

但是我如何使用他们的位置来使其更准确?

解决方法

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;
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...