以月和日计算年龄

2023-11-22

function getAge(dateString) {
    var today = new Date();
    var birthDate = new Date(dateString);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }
    document.write(age);

}

getAge("01/20/2011")

这显示了我 0 年,但我想显示10 Months距离他的生日还有 9 个月10/20/2011.


您经常想知道一个人在特定日期的年龄, 或两个日期之间的年、月和日。

如果您确实想要当前的年龄,请传递单个日期或日期字符串参数。

function getAge(fromdate, todate){
    if(todate) todate= new Date(todate);
    else todate= new Date();

    var age= [], fromdate= new Date(fromdate),
    y= [todate.getFullYear(), fromdate.getFullYear()],
    ydiff= y[0]-y[1],
    m= [todate.getMonth(), fromdate.getMonth()],
    mdiff= m[0]-m[1],
    d= [todate.getDate(), fromdate.getDate()],
    ddiff= d[0]-d[1];

    if(mdiff < 0 || (mdiff=== 0 && ddiff<0))--ydiff;
    if(mdiff<0) mdiff+= 12;
    if(ddiff<0){
        fromdate.setMonth(m[1]+1, 0);
        ddiff= fromdate.getDate()-d[1]+d[0];
        --mdiff;
    }
    if(ydiff> 0) age.push(ydiff+ ' year'+(ydiff> 1? 's ':' '));
    if(mdiff> 0) age.push(mdiff+ ' month'+(mdiff> 1? 's':''));
    if(ddiff> 0) age.push(ddiff+ ' day'+(ddiff> 1? 's':''));
    if(age.length>1) age.splice(age.length-1,0,' and ');    
    return age.join('');
}


getAge("1/25/1974")>> 37 years 8 months and 26 days

getAge("9/15/1984")>> 27 years 1 month and 5 days

getAge("12/20/1984","10,20,2011")>>26 years  and 9 months

getAge(new Date(),"12/25/2011")+' till Christmas'>>
2 months and 5 days till Christmas

getAge("6/25/2011")>> 3 months and 25 days
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以月和日计算年龄 的相关文章

  • 如何使用 Shopify API 将商品添加到购物车

    我正在使用 Shopify API 开发自定义网络应用程序 这里的想法是使用应用程序作为独家店面 只需向 Shopify API 发出请求 我已在我的 Shopify 帐户中设置了一个私人应用程序来执行此操作 我从 api 提取产品没有问题
  • 在使用 jQuery 拖动时向元素添加 CSS 类

    是否可以在元素被拖动到特定区域时向其添加 CSS 类 并在元素被删除后替换该类 我并不是到处寻找这个功能 而是只在特定区域寻找这个功能 是的 这当然有可能 jQuery UI 提供了一些方便的选项和事件来执行此操作 对于初学者来说 可拖动元
  • 如果Functions是javascript中的对象,为什么function.constructor指向Function而不是Object?

    当像这样从窗口对象创建以下函数时 function userInfo 既然函数是对象 为什么 userInfo constructor 显示 Function 而不是 Object 当使用以下内容时 它甚至显示函数而不是对象 Functio
  • 方向改变后的javascript最大视口高度Android和iOS

    目标 查找设备的最大视口高度 包括设备的空间address bar这样我们就可以动态调整 min body 的大小并将内容向上推 问题 移动浏览器处理方向状态的方式不同 方向变化时更新 DOM 属性的方式也不同 使用 JavaScript
  • 如何使用 Underscore 获取 JavaScript 数组中的重复项

    我有一个数组 我需要重复的项目并根据特定属性打印这些项目 我知道如何使用 underscore js 获取唯一项目 但我需要找到重复项而不是唯一值 var somevalue name john country spain name jan
  • 为什么我的箭头函数有原型属性?

    正如文档中提到的https developer mozilla org en docs Web JavaScript Reference Functions Arrow functions https developer mozilla o
  • 如何更改点击事件上的引导插入符指向方向

    我正在使用 2 3 2 引导程序 因为当我单击菜单按钮时 我可以更改插入符号图标的位置 我需要当我单击图标插入符号向上时 当您单击另一个项目时 插入符号返回到初始状态 这怎么可能 导航代码 div div class container d
  • 获取 pdf 第 1 页(共 2 页)的图像

    我正在使用 html2canvas 和 jsPDF 以及 Angular4 创建图像 我想将此图像放置在 2 页生成的 pdf 的第 1 页上 但似乎这条线 doc save test pdf 需要在函数内部htm2canvas 因为如果我
  • 我什么时候应该使用内联和外部 Javascript?

    我想知道什么时候应该包含外部脚本或将它们与 html 代码内联编写 就性能和易于维护而言 这方面的一般做法是什么 真实场景 我有几个需要客户端表单验证的 html 页面 为此 我使用了一个包含在所有这些页面上的 jQuery 插件 但问题是
  • toJSON() 和 JSON.Stringify() 之间的区别

    如果您需要读取或克隆模型的所有数据属性 请使用其 toJSON 方法 此方法返回属性的副本作为 对象 尽管有其名称 但不是 JSON 字符串 当 JSON stringify 为 使用 toJSON 方法传递一个对象 它将返回的字符串化 t
  • Backbone.js 应用程序可以逐步增强并可供搜索引擎抓取吗?

    我需要为我的下一个项目实现一个 MVC JavaScript 框架 但它既是一个网站 又是一个 Web 应用程序 是否可以公开数据服务器端 然后解析 URL 以显示 JS 版本 我计划使用 Rails 作为服务器端代码 我写了一个关于这个主
  • 它们是“相同的”吗?代码大战

    这是完整的问题描述 给定两个数组 a 和 b 编写一个函数 comp a b Clojure 中的 compSame a b 来检查这两个数组是否具有 相同 元素以及相同的重数 这里 相同 意味着 b 中的元素是 a 平方中的元素 无论顺序
  • 元素在主体内找不到足够的空间 - JavaScript 样式

    相关信息 该页面包含两个元素 An
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • JavaScript 按名称获取当前作用域中的变量

    所以我有一个变量和该变量名称的字符串 function Factory string var foo bar console log foo is equal to this string 如果变量所在的对象是当前对象 如何从字符串文字中获
  • 限制线的长度

    我正在尝试画一条代表 弹弓 的线 并且希望它具有最大拉伸长度 在 p5 中 我在位置和位置之间画了一条线 line posA x posA y posB x posB y posA 是鼠标 x 和 y posB 是画布上圆的位置 我想要做的
  • Firefox 和 Chrome 为 offsetTop 提供了不同的值

    我试图相对于输入字段定位一个跨度元素 让我们称之为 工具提示跨度 为此 我将工具提示跨度和输入字段包装在另一个跨度元素中 我们称之为 包装器跨度 该元素具有position relative 然后我设置position absolute在工
  • 在 Sublime Text 下获取完整的 JS 自动补全

    我刚刚在 Windows Vista 下安装了 Sublime Text 甚至遵循了中给出的建议这个帖子 https stackoverflow com questions 10636410 modifying sublime text 2
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1

随机推荐

  • C++11“不可移动”类型[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 C 11 删除的函数参与重载决策 我对以下 C 11 代码有两个问题 include
  • Java 小程序和网页上的文本输入控件之间的桥梁

    我一直在使用一个Java小程序 它是一个可以帮助仅使用鼠标进行编写的小程序 就我而言 我尝试将其合并到我的网站项目中 如下所示 当用户单击页面上的任何输入元素 文本框 文本区域 时 此 JAVA 小程序会加载到网页本身上 在下面看到的 JA
  • Asp.Net MVC 4 API:在 IE8 中下载 docx 失败

    我将文档存储在数据库中 并有一个用于下载文档的 api 下载docx和xlsx在IE9 Chrome和FF中工作正常 但在真正的IE8中失败 IE8模式下的IE 9也可以 我收到的错误消息如下 无法从idler2 下载393 无法打开此 I
  • Python算法计算csv中特定单词的出现次数

    我刚刚开始学习Python 我很好奇什么是计算 CSV 文件中特定单词出现次数的有效方法 而不是简单地使用 for 循环逐行遍历并读取 更具体地说 假设我有一个 CSV 文件 其中包含两列 姓名 和 成绩 包含数百万条记录 如何计算 Gra
  • 无法获取透明DialogFragment

    我有一个看起来像这样的对话框片段 AlertDialog ad builder create Drawable d new ColorDrawable Color BLACK d setAlpha 130 ad getWindow setB
  • 在 Android 教程应用程序上使图像全屏显示

    使用 Hello World Gridview 教程示例 我尝试使图像在单击时全屏显示 而不是显示图像在数组中的位置 由于我对Android不熟悉 而且这是我第一次尝试用它进行开发 所以我很茫然 我对 Java 很熟悉 并且我尝试过这样做
  • Oracle SQL:从带有嵌套表的表中选择

    我想知道如何从具有类型列的表中创建 select 语句 该列的类型定义为 create or replace TYPE MYCOL as table of MYTYPE create or replace TYPE MYTYPE as OB
  • css-sprite 是一种好技术吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 css sprite 是个好技术吗 我在以下位置阅读了有关其优点的信息http spriteme org 我还在 stackoverflow 中看到了很多关于 css sprites 的问
  • 将 Intellij-Idea UI 表单导出到 Eclipse

    我有一个 Java 项目要做 所以我决定使用Inltellij Idea中的Designer来帮助我快速完成表单和窗口 并有更多的时间来开发应用程序 我面临的问题是老师使用 Eclipse 所以我认为在开发结束时我可以导出我的 Intell
  • LDAP 问题,ldap_bind 无效 dn 语法

    我知道我的错误非常简单 但我试图找到问题所在 但我没有看到它 也许你可以帮助我 我正在尝试使用 php 创建一个函数 这样我就可以连接到 LDAP 并找到所需的信息 我的 php 代码如下 ldapconfig host 127 0 0 1
  • 如何根据访问者的位置显示本地时间?

    我们正在开发一个网站 供世界各地的人们使用 网站中有一个聊天部分 我们希望消息显示带有时间戳 我在数据库中存储每条消息的时间戳 根据访问者当地时间 向访问者显示每条消息的正确时间的方法是什么 我不想询问用户他的时区 有没有办法只使用 PHP
  • 如何在 SQL Server 2005 中存储时区

    我正在构建一个网络应用程序 用户可以在其中输入事件 包括 活动标题 开始日期 时间 描述 用户想要输入开始日期 时间 包括与事件位置相对应的时区 这些活动是全球性的 因此时区可能会因活动而异 在SQL Server后端数据库中 我使用dat
  • 如何在 python 中抑制控制台/cmd 错误消息

    如何抑制 python 中 chromedriver 和 pyinstaller exe 的错误消息 我注意到 当我在 pyinstaller 中使用 chromedriver 并运行它时 我会收到错误消息列表 我一直在尝试删除它们 但到目
  • 删除标点符号但保留表情符号?

    是否可以删除所有标点符号但保留表情符号 例如 D p structure list text structure c 4L 6L 1L 2L 5L 3L Label c Inappropriate announce AirAsia your
  • 如何在单个IP(Apache + Passenger)上部署多个rails应用程序?

    我想在一台服务器上部署多个 Rails 应用程序 如果我有一个域名 我可以轻松地使用子域作为虚拟主机中的服务器名称来完成此操作 我的问题是我没有域名 我可以做类似的事情吗 70 42 89 11 app 1 作为一个服务器名称 70 42
  • 如何在 matplotlib 的子图下方添加图例?

    我正在尝试在 3 列子图下方添加图例 我已经尝试过以下方法 fig ax plt subplots ncols 3 ax 0 plot data1 ax 1 plot data2 ax 2 plot data3 ax sub plt sub
  • 如何使用 ADO 和 VB 将 NULL 或空字符串传递给存储过程输入参数?

    我在 Sql Server 2005 中有一个存储过程 其 varchar 输入参数定义为 Value varchar 24 NULL 在我的 VB6 应用程序中 我尝试使用 ADO 函数设置参数 Set prmParamVal cmdCh
  • loadHTMLString baseURL:nil 在 iOS5 中不起作用

    我遇到了 UIWebView 的问题 我想在 UIWebView 中渲染我自己的 html 代码 如果我使用下面的代码 它工作正常 NSBundle thisBundle NSBundle mainBundle NSString path
  • F# 具有特定属性的记录类型的类型约束

    我正在尝试创建一个通用函数 它需要其类型参数 它是记录类型 并且它具有特定的属性 这是生成相关编译器错误的示例 let foo lt a gt a a a a with bar baz a 编译这个我得到一个错误说明The record l
  • 以月和日计算年龄

    function getAge dateString var today new Date var birthDate new Date dateString var age today getFullYear birthDate getF