当前位置: 首页 > 面试题库 >

以YYYYMMDD格式计算给定生日的年龄

戚兴邦
2023-03-14
问题内容

给定YYYYMMDD格式的出生日期,如何计算以岁为单位的年龄?是否可以使用该Date()功能?

我正在寻找比现在使用的解决方案更好的解决方案:

var dob = '19800810';

var year = Number(dob.substr(0, 4));

var month = Number(dob.substr(4, 2)) - 1;

var day = Number(dob.substr(6, 2));

var today = new Date();

var age = today.getFullYear() - year;

if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {

  age--;

}

alert(age);

问题答案:

我会为了提高可读性:

function _calculateAge(birthday) { // birthday is a date
    var ageDifMs = Date.now() - birthday.getTime();
    var ageDate = new Date(ageDifMs); // miliseconds from epoch
    return Math.abs(ageDate.getUTCFullYear() - 1970);
}

免责声明: 这也存在精度问题,因此也不能完全信任。它可能会关闭几个小时,有时会关闭,也可能会在夏令时关闭(取决于时区)。

相反,如果精度非常重要,我建议为此使用库。另外@Naveenspost,可能是最准确的,因为它不依赖于一天中的时间。



 类似资料:
  • 我有一个要求,请求以YYYYMMDD格式传递日期。根据swagger文档,在字符串类型下定义日期字段。然而,它遵循RFC 3339第5.6节文件(格式为ex.2018-03-20) 以下代码不适用于yaml。 如何为YYMMDD的日期格式定义YAML定义。

  • 问题内容: 我想获得任何一年中的周数。即使被接受为全球通用的答案,对于日历,而实际上有几个星期。 有什么方法可以计算出来,或者有什么函数可以帮助我? 问题答案: 根据维基百科关于ISO周日期格式的文章,您可以使用以下代码进行计算。 更新: 似乎来自@Samuel的答案更好,并且没有Luca提到的错误 快速一线:

  • 本文向大家介绍js获取当前年月日-YYYYmmDD格式的实现代码,包括了js获取当前年月日-YYYYmmDD格式的实现代码的使用技巧和注意事项,需要的朋友参考一下 js获取当前年月日-YYYYmmDD格式的实现代码 以上这篇js获取当前年月日-YYYYmmDD格式的实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 问题内容: 我在sql中有一个用户表,他们每个都有生日。我想将他们的出生日期转换为他们的年龄(仅年),例如日期:年龄:14,并将更改为年龄: 在这里,我想显示用户的日期: 问题答案: 功能:, MySQL > = 5.0.0 功能:,

  • 在Postgres数据库中给定此架构: 我如何查询表以获得每个人今天之后的下一个生日的日期? 例如,如果Bob的出生日期是2000-06-01,那么他的下一个生日将是2016-06-01。 注意:我不是在寻找一个预定义的,而是一个人出生的下一个周年纪念日。 我已经用Python写了等效的: 然而,我想看看博士后是否能以更有效的方式做到这一点。

  • 问题内容: 我对MYSQL函数有问题,我可以使用它,而且很简单。但是我不明白如何使用它来收集表字段中的差异。例如 我有一列,我想写一个查询来做类似的事情 我的意思是我要从当前日期时间到table字段的差额,每个查询结果都是差额,即用户的年龄。 问题答案: 你的意思是这样吗? (来源)