公司做医疗,需要根据时间获取精确年龄(主要是儿童年龄),精确度要求较高,从网上找了好久都不符合要
求,或者只是精确到岁,或者跨月时,天数误差过大,没办法只好自己写了一分,请大家指点需求:1 如果大于等于1岁,那么岁 例如格式"N岁N月" 如果整年,月数为0,格式为“N岁” 2 如果小于一岁,
但大于一月,就取几月 例如格式"N月N天",如果整月,天数为0,格式为“N月” 3 如果小于一个月,天大于等
于3天 直接取天数 如果天小于3天 取小时 例如出生2天 就取 48小时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">function getAge(beginStr, endStr) {var reg = new RegExp(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})(\s)(\d{1,2})(:)(\d{1,2})(:{0,1})(\d{0,2})$/);var beginArr = beginStr.match(reg);var endArr = endStr.match(reg);var days = 0;var month = 0;var year = 0;days = endArr[4] - beginArr[4];if (days < 0) {month = -1;days = 30 + days;}month = month + (endArr[3] - beginArr[3]);if (month < 0) {year = -1;month = 12 + month;}year = year + (endArr[1] - beginArr[1]);var yearString = year > 0 ? year + "岁" : "";var mnthString = month > 0 ? month + "月" : "";var dayString = days > 0 ? days + "天" : "";/** 1 如果岁 大于等于1 那么年龄取 几岁 2 如果 岁等于0 但是月大于1 那么如果天等于0
天小于3天 取小时* 例如出生2天 就取 48小时*/var result = "";if (year >= 1) {result = yearString + mnthString;} else {if (month >= 1) {result = days > 0 ? mnthString + dayString : mnthString;} else {var begDate = new Date(beginArr[1], beginArr[3] - 1,beginArr[4], beginArr[6], beginArr[8], beginArr[10]);var endDate = new Date(endArr[1], endArr[3] - 1, endArr[4],endArr[6], endArr[8], endArr[10]);var between = (endDate.getTime() - begDate.getTime()) / 1000;days = Math.floor(between / (24 * 3600));var hours = Math.floor(between / 3600 - (days * 24));var dayString = days > 0 ? days + "天" : "";result = days >= 3 ? dayString : days * 24 + hours + "小时";}}return result;}alert(getAge("1980-03-22 10:1:2", "1982-03-22 10:1:2"));alert(getAge("1980-02-29 10:1:2", "1981-03-01 10:12:2"));alert(getAge("1980-03-22 10:1:2", "1980-03-23 9:1:1"));alert(getAge("1981-02-28 10:1:2", "1981-03-01 10:1:2"));
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
</body>
</html>

Js年龄计算,精确到岁、月、小时相关推荐

  1. js版计算连续12个月计算不超3万公里

    <!--考虑比亚迪车友不是程序员的多,写了个html版的,复制以下代码在记事本,改后缀名为test.html,然后用浏览器打开--> <!DOCTYPE html> <h ...

  2. Oracle-根据生日计算年龄(岁,月,天)

    需求:根据生日date_of_birth计算当前年龄,大于16岁显示岁,1–16岁精确到月,一岁以下精确到天 例子:1995-5-5 =25岁 2010-5-5 = 10岁8月 2020-5-5 = ...

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

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

  4. 根据出生日期计算年龄,精确到日(C++实现)

    ** 实现了一个小程序,实现根据出生日期计算年龄 ** 这里没有考虑如果出生年为闰年,或者当前年为闰年时出生日期为二月的情况 如果需要考虑,那么计算前加入一个闰年判断,并且根据是否闰年在计算时调用不同 ...

  5. js生日计算年龄_生男生女计算公式超准

    生男生女的计算公式是怎样的?如何通过计算公式准确的推算出你怀的是男孩还是女孩呢?据说生男生女的公式超准确度99%,这么简单又准确的计算方法你确定不用吗? 一.生男生女计算公式: 1:怀孕农历月份双乘+ ...

  6. 周岁年龄计算 js版 实时年龄

    实时年龄计算 /**根据生日计算现在年龄---周岁*1.1周岁以下输出 几月几日*2.10周岁以下输出 几周岁几月*3.其他输出 几周岁* 输出-1 为生日日期大于当前日期*/function get ...

  7. 数据库里怎样根据出生日期计算精确年龄

    网上有很多人都在问怎样根据出生日期计算出年龄,回答的人很多,但大部份都是用年减年的方式去算年龄,这样误差就太大了,我们现在计算精确年龄的思路是:年减年后,再对比月日,月日未达的,再减一年就OK了. S ...

  8. oracle 根据出生日期计算精确年龄

    SELECT floor(months_between(SYSDATE, to_date('20141217','yyyy-mm-dd'))/ 12) a,–手工输入日期 months_between ...

  9. js日期计算,根据当前日期计算n个月后的日期

    js计算n个月后的日期,并匹配月底,处理闰年,闰月 工作中遇到日期计算的需求,需要根据给定的日期计算出n个月后的日期,开始感觉挺简单一需求,因为现成的moment.js就有日期加月份计算的功能,但需求 ...

最新文章

  1. 腾讯会跟中国移动一样慢慢衰落么
  2. 专题 14 IPC之共享内存
  3. 解决方法WindowsError: [Error 193] %1 is not a valid Win32 application
  4. Java 7中的Try-with-resources
  5. c语言连接mysql(入门)_MySQL入门之C语言操作MySQL
  6. lucene索引MySQL原因_我如何在数据库中存储Lucene索引?
  7. 微信小程序-仿淘宝(附真机测试图)(持续更新中。。。)
  8. 「Android」Lenovo K860 root脚本备忘
  9. 什么样的男人才是最牛的男人
  10. mysql插入记录到有约束的表_MySQL学习笔记-约束以及修改数据表
  11. Ubuntu安装显卡驱动教程
  12. playwright基本使用方法
  13. MSI文件无法安装问题
  14. sql server查看密码使用天数和剩余天数
  15. Java中统计耗时的方法
  16. windows系统进程System ntoskrnl.exe pid 4占用8080端口
  17. 团队管理的四大挑战——留人篇
  18. 正则表达式内的常用的函数 2
  19. QT实现加载百度离线地图
  20. BLE广播包4种类型

热门文章

  1. 逆向之汇编(EBP寻址)
  2. win8.1 终于删除可恶的微软拼音
  3. Vue vben admin - 新鲜出炉的高颜值管理后台UI框架,基于 Vue3 和 Ant Design Vue
  4. Edge浏览器中不输oneTab的标签整理插件
  5. 网络变压器匝间电容(CWW)及网络变压器线圈分布电容(CD)
  6. 【CSS】常见选择器用法
  7. 最适合python程序员用的笔记本-JupyterLab:程序员的笔记本
  8. 魔兽世界az端和TC端有什么区别 Mangos,TC,SW,AZ,AC的关系
  9. 技能冷却: 判断技能 释放技能
  10. 教学教法改革效果评估的4种方法