计算年龄JavaScript

时间:2015-12-15 05:13:14

标签: javascript utc

如何计算这个年龄函数?

具体在哪里" 7656656e5"使用的价值来自?

我希望计算出生于03/31/1994的人的年龄

    Age = function() {
    var e, o;
    return renderAgeLoop = function() {
      setInterval(renderAge, 100)
    }, renderAge = function() {
      var n = 7656656e5, //Where does this value come from?
        r = new Date,
        t = r - n,
        a = t / 315569e5;
      e = $("#major"), o = $("#minor");
      var i = a.toFixed(9).toString().split(".");

      var d = new Date();
      console.log(d.toUTCString())

      e.text(i[0]), o.text(i[1])
    }, {
      renderAgeLoop: renderAgeLoop
    }
  }

3 个答案:

答案 0 :(得分:5)

这一行

var n = 7656656e5

是一种在JavaScript中表达数字的方法。我相信它是指科学记谱法。

它需要数字7656656并将其乘以10 ^ 5,即e5

如果您在控制台(Chrome开发者工具)中运行它,您会看到类似这样的内容

=> 765665600000

至于该数字代表什么,我注意到您正在将该值与new Date()进行比较。所以它可能代表自1970年1月1日以来的毫秒数。

无论如何,如果你想要计算年龄,这是一个更好的方法。

var startTime = new Date("1990").getTime()
var currentTime = new Date().getTime()

var age = currentTime - startTime/Math.floor(1000 * 60 * 60 * 24 * 365)

最好的解决方案是查看优秀的库MomentJS。它更容易使用。

http://momentjs.com/

答案 1 :(得分:0)

convertEnumToQString

答案 2 :(得分:0)

通过传递出生日期获取年龄的纯javascript函数:

function getAge(birthDate) {
    if(Object.prototype.toString.call(birthDate) !== "[object Date]") return
    return Math.floor((new Date() - birthDate)/31557600000);
}

// Example:
console.log(getAge(new Date("1993-01-22T00:00:00.000Z")))

// Output:
// 28