专业财税服务推荐

精选优质财税服务,为企业提供专业、可靠的财税解决方案,助力企业健康发展

零报税代理记账
零申报代理记账
报税做账算帐财务报表老会计做账
代理记账
咨询微信:lhy_happyday
工商营业执照年度年报年检公示
全国个体、企业、公司、合作社工商年审年报服务!
个体/10元/次 企业/20元/次
咨询微信:lhy_happyday
财税咨询服务
一对一专业财税咨询,解决企业财税难题,提供定制方案
咨询微信:lhy_happyday
财务分析服务
小规模个体报税0申报税务年报工商年报月报季报报税代理记账
咨询微信:lhy_happyday
立即咨询专业财税顾问
微信号: lhy_happyday
会计从业9年,管理多家个体工商、小规模、一般纳税人等企业的财务、税务等相关工作!。
扫码或搜索添加微信,备注"财税咨询"获取专属优惠
知方号 知方号

根据出生日期计算年龄,格式为YYYYMMDD 日期格式为yyyymmdd怎么算年龄

根据出生日期计算年龄,格式为YYYYMMDD

重要提示:此答案不能提供100%准确的答案,根据日期的不同,可能会有大约10-20个小时的偏差。

没有更好的解决方案(至少在这些答案中没有)。--纳维恩

当然,我忍不住要接受挑战,制作一个比目前公认的解决方案更快、更短的生日计算器。我的解决方案的要点是,数学运算速度很快,所以我们不使用分支和日期模型javascript来计算解决方案,而是使用奇妙的数学运算。

答案看起来像这样,运行速度比纳维恩快65%,而且更短:

代码语言:javascript复制function calcAge(dateString) { var birthday = +new Date(dateString); return ~~((Date.now() - birthday) / (31557600000));}

神奇的数字: 31557600000是24 * 3600 * 365.25 * 1000,这是一年的长度,一年的长度是365天6小时,也就是0.25天。最后我给出了最终年龄的结果。

以下是基准测试:http://jsperf.com/birthday-calculation

要支持OP的数据格式,您可以替换+new Date(dateString);

使用+new Date(d.substr(0, 4), d.substr(4, 2)-1, d.substr(6, 2));

如果你能想出更好的解决方案,请分享!:-)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。