//每个月按30天计算所以误差有些大
// 根据时间戳计算宝宝年龄getBabyAge:function(time){let birthday = time;let now = new Date().getTime();let hours = (now-birthday)/3600000;let year = Math.floor(hours / (24 * 30 * 12));hours = hours % (24 * 30 * 12);let months = Math.floor(hours / (24 * 30 ));hours = hours % (24 * 30 );let days = Math.floor(hours / (24));let age = year + '岁' + months + '个月' + days +'天';// console.log('已经出生:'+ age);return age;},
//误差能小些在1天左右
// 根据时间戳计算宝宝年龄getBabyAge: function (time) {let now = new Date().getTime();let time2 = now - time;let date = new Date(time2);let year = date.getFullYear() - 1970;let months = date.getMonth();let days = date.getDate()-1;let age = year + '岁' + months + '个月' + days + '天';// console.log('已经出生:'+ age);return age;},

将当前日期的时间戳减去出生日期的时间戳再转化为日期格式。减去1970年1月1日日期为出生年月日。

 //基本没有误差        getBabyAge2(time) {let nowTime = new Date();let birthTime = new Date(time);// console.log("time",nowTime,birthTime);// 当前年月日let curYear = nowTime.getFullYear();let curMonth = nowTime.getMonth();let curDay = nowTime.getDate();// 出生年月日let birYear = birthTime.getFullYear();let birMonth = birthTime.getMonth();let birDay = birthTime.getDate();// 年月日之差let year = curYear - birYear;let months = curMonth - birMonth;let day = curDay - birDay;// console.log("test",year,months,day);//(1)将出生日期的时间戳都转化为Date,分别获取当前时间和出生时间的年、月、日之差//(2)若月份相差为负说明不满这一年,年份减1,月份借了一年变为12+当前月份。故月份之差变为12+当前月份-出生月份。// 若月份相差为0并且天相差为负,说明也不满一年,计算同理。//(3)若天相差为负,说明不满这个月,月份减1,天数借了一个月,故天数之差为上个月的天数+当前天-出生天if (months < 0 || months == 0 && day < 0) {year -= 1;months = 12 + curMonth - birMonth;}if (day < 0) {months -= 1;let date = this.getDaysInMonth(curYear, curMonth);// console.log("date",date);day = date + curDay - birDay;}age = year + '岁' + months + '个月' + day + '天';// console.log("age",age);return age;},// 获取某年某月有多少天getDaysInMonth(year,month){month = parseInt(month,10);var temp = new Date(year,month,'0');return temp.getDate();},

(1)将出生日期的时间戳都转化为Date,分别获取当前时间和出生时间的年、月、日之差

(2)若月份相差为负说明不满这一年,年份减1,月份借了一年变为12+当前月份。故月份之差变为12+当前月份-出生月份。

若月份相差为0并且天相差为负,说明也不满一年,计算同理。

(3)若天相差为负,说明不满这个月,月份减1,天数借了一个月,故天数之差为上个月的天数+当前天-出生天

根据时间戳计算宝宝年龄(年月日)相关推荐

  1. PHP年龄计算 取得两个时间戳相差的年龄年月日显示

    2019独角兽企业重金招聘Python工程师标准>>> 因需要显示对象的年龄,在网上找了几个看着不是太理想,自己写了一个,取得两个时间戳相差年龄的函数,显示结果为x岁x月x天,年月为 ...

  2. android出生日期计算年龄,Java 通过生日计算宝宝多大了,输出我27岁7月零9天

    通过生日计算宝宝多大了 前段时间大家在打新冠状疫苗的时候,护士给了我一张小纸条,上面清晰的显示我在地球上的年龄27岁4个月零3天.我们也写个代码走起 import java.text.ParseExc ...

  3. T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...

    这两个小技巧,不写不知道,一写吓一跳! 都是看似简单,实际做起来就懵,得仔细想一想,才能写对! 凡是有日期运算的程序都要细心哦! 先说第二个: 2.根据出生日期精确计算年龄!   所谓计算精确年龄就是 ...

  4. 算法之unix时间戳和UTC时间(年月日)互换

    算法之unix时间戳和UTC时间(年月日)互换 author:onceday date:2022年6月8日 文章目录 算法之unix时间戳和UTC时间(年月日)互换 1.c标准库时间结构定义 2.自定 ...

  5. js生日计算年龄_用T-SQL计算明细年龄问题.

    提前说一下,有一个bug,就是出生日期等于getdate()的时候,由于没有精确到时分秒,而无法计算年龄. 过几天补上. /*计算明细年龄问题*/DECLARE @ADATE DATETIME, @B ...

  6. 自定义起始时间的时间戳计算(个人代码记录)

    个人代码记录,这个时间戳计算,由于项目数据特殊需求,自己设置的时间戳起始时间为2019年1月1日开始, 然后根据时间戳数据计算出现在时间,具体使用如下,这里setFullYear的月份是0到11,所以 ...

  7. 年月日_C++计算输入的年月日是这一年的第几天

    C++计算输入的年月日是这一年的第几天 #include<stdio.h> int leap(int a) { if(a%4==0&&a%100!=0||a%400==0) ...

  8. android 时间差 秒_Android进阶之使用时间戳计算时间差

    本文实例为大家分享了Android使用时间戳计算时间差的具体代码,供大家参考,具体内容如下 因当前项目需要计算时间差,进行数据处理,所以在Csdn上找了一下,之后修修补补是可以用的,建议大家如果用到项 ...

  9. 面试题:根据Unix时间戳计算时间

    根据Unix时间戳计算时间,不分年月大小,每月三十天,每年按360天计算.开始时间1970/01/01 00:00:00,输入秒数,显示时间 思路一:进位,60秒进1分钟,60分进1小时,24小时进1 ...

最新文章

  1. 喀什市2021年高考成绩查询,2021年新疆高考查分网站查分网址:http://www.xjzk.gov.cn/...
  2. 计算机基础知识易错,事业单位考试计算机基础知识易错试题.doc
  3. centos 5 6安装本地yum源
  4. 网络编程—网络基础概览、socket,TCP/UDP协议
  5. java创建子类对象的步骤_一通Spring骚操作:我敢说没人比我更懂Java对象创建
  6. micropython flask_在Python的Flask框架中实现单元测试的教程
  7. Kerberos认证过程学习理解
  8. 掌趣科技:游戏《一拳超人:最强之男》累计收入近5亿元
  9. 数字积分法直线插补c语言,数字积分法的直线插补.ppt
  10. 黑苹果双系统时间不一致_黑苹果系统与windows时间差问题的解决
  11. c++语言杨辉三角,杨辉三角 (C++代码)
  12. This experimental syntax requires enabling the parser plugin: ‘optionalChaining‘
  13. java 游戏打砖块_基于JAVA的打砖块游戏
  14. 一文理解所有需求分析中的基本术语
  15. 小米路由器SSH资料攻略
  16. h5、微信、app互相跳转
  17. 4种 LBS “附近的人” 实现方案,人人都能看的懂
  18. java EE基础概念了解
  19. 韦东山嵌入式开发板小结1
  20. new URL(“www.jjj.com“)

热门文章

  1. Word出现很多灰色小点点和箭头的解决方法:
  2. java如何实现红包雨,小程序红包雨的实现示例
  3. 关于Pop3协议的几种处理状态的简述
  4. 如何实现数组的随机排序
  5. 高职计算机类专业,关于高职计算机类专业发展.doc
  6. caffe实战之classify.py解析
  7. c语言前提,C语言前提条件和后置条件
  8. 微信公众号开发 40164, invalid ip错误
  9. 26th.Feb.2019
  10. LINUX 挂载点目录及其作用