`
jsntghf
  • 浏览: 2527733 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ruby计算年龄--为何我多了一岁?

阅读更多

也许你认为ruby计算年龄很简单,但出于某些原因,其实并非如此。我们一般会将用户的生日存在一个DATE类型的字段里。


现在,我们一起来计算用户的年龄。

 

 def age
    Date.today.year - person.birthday.year
 end

 

这个方法对部分用户来说,完全没有问题。但是,为什么某些用户会凭空多出了一岁呢?


例如下面这种情况:今天是2008年1月3日,用户的生日是1979年1月14日,这种方法算出来是29岁,该用户实际是28岁。

 

因此我们需要一个更精确的方法来计算用户的年龄。

 

def age
    ((Date.today - person.birthday.to_date) / 365).floor
end

 

分享到:
评论
2 楼 222xiaohuan 2009-11-20  
1 楼 pure 2009-11-20  
果真如此么?

相关推荐

    Ruby 数据类型.pdf

    - `arr = Array.new(3)` 创建一个长度为3的新数组 - **数组操作**: - 添加元素:`arr - 删除元素:`arr.delete("two")` - 访问元素:`arr[0]` #### 哈希(Hash) 哈希是一种无序集合,由键值对组成,其中键...

    04Ruby 条件判断.docx

    - **特殊情况**:当 `case` 的表达式部分被省略时,将计算第一个 `when` 条件部分为真的表达式。 综上所述,通过上述介绍我们可以了解到Ruby在条件判断方面提供的丰富语法和支持,这些特性不仅使得代码更加简洁清晰...

    Ruby语言教程和经典案例

    - **面向对象编程示例**:设计一个Customer类,包含姓名、年龄等属性,并实现显示详细信息、计算折扣等功能。这有助于理解如何使用类和对象来管理复杂的数据和行为。 - **元编程实例**:Ruby支持强大的元编程能力,...

    pet-age-calculator-1:将人类年龄转换为宠物年龄的应用程序

    宠物年龄计算器是一个应用程序,旨在帮助用户将人类的年龄转换为宠物,特别是猫或狗的年龄。这个项目基于Ruby编程语言和Sinatra框架构建,提供了一个简单的接口,使得用户能够轻松理解宠物与人类年龄之间的对应关系...

    迷茫?为你解答学习编程几个常见的疑问

    - **职业发展**:尽管如此,需要注意的是,如果打算将编程作为职业,很多公司在招聘时可能会设置一定的年龄门槛。但这并不意味着年龄较大就不能在编程领域取得成功,实际上,经验和智慧同样重要。 #### 四、选择...

    树莓派人脸识别系统的开发与研究.pdf

    除了C和C++,它还提供了Python、Ruby、MATLAB 等多种语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 树莓派简介 Raspberry Pi 简称树莓派,简单来说是性价比较高的迷你计算机,是英国的慈善组织学习...

    our-own-classes-chapter

    Ruby实践 ...一种实例方法,年龄,计算今天和生日之间的年数 这些方法应该返回一个值。他们不应该在终端上打印任何内容。 例子 dev = Person . new dev . first_name = "James" dev . last_name = "B

    程序员简历参考模板.docx

    在IT行业中,一份出色的程序员简历是求职成功的关键。下面根据提供的程序员简历参考模板,解析其中涉及的重要知识点: 1. **基本信息**: - 姓名、性别、出生日期、年龄:这些是个人基本信息,有助于招聘者了解...

    integer-chapter

    Ruby实践 通过输入ruby并在终端中要运行的文件名来运行Ruby文件。 如果要运行integer_math.rb ,可以编写以下命令: ruby integer_math.rb 要重新运行此命令,可以使用UP和... 询问一个人的年龄,然后计算并显示他

    alembic-forestry-kit

    Alembic Forestry Kit,这个名字可能对一些人来说有些陌生,但它实际上是一个专为林业模拟和管理设计的工具包,尤其对于Ruby编程语言的爱好者来说,它提供了一个简单易上手的起点。这个套件,正如其名,旨在帮助初学...

    React.CalculateAge:让我们使用此React.js年龄计算应用程序庆祝您的年龄,请检查https

    我可以使用装饰器吗? 使用AJAX请求获取数据 与API后端集成 节点 Ruby on Rails 在开发中代理API请求 配置代理后出现“无效的主机头”错误 手动配置代理 配置WebSocket代理 在开发中使用HTTPS 在服务器上生成动态...

    python例子

    是下面2本书的例子,基本都是自己练习输入做的, 早在2009年没选择它,按时看Ruby去了,有点后悔没早学习它,嗯! 这段时间,在2017年9月1日失业了,计划... 我喜欢这一系列的教程,感觉比较好 本书例子做的不多,但

    BasicRuby:打印、放置、简单表达式、用户输入数学求解

    Ruby是一种面向对象的脚本语言,以其简洁的语法和强大的功能而受到开发者的喜爱。在这个“BasicRuby:打印、放置、简单表达式、用户输入数学求解”的主题中,我们将深入探讨Ruby的基础知识,包括输出操作、变量和...

    蓝桥杯scratch初赛模拟题附答案

    + 要求:实现 Abby 在家里做数学作业的程序,计算学生年龄平均值。 + 知识点:角色控制、用户交互、数据处理、算法设计。 六、结论 scratch编程基础知识点总结提供了scratch初赛模拟题的相关知识点,涵盖了...

    测试最小值

    在Ruby编程语言中,"测试最小值"通常指的是在一组数据中找到并验证最小值的过程。这涉及到数组或集合的处理,以及利用内置函数或自定义方法来查找和验证最小值。Ruby提供了一些方便的工具来进行这样的操作,使得在...

    aA_Classwork

    《Ruby编程语言基础与实践——以aA_Classwork项目为例》 在计算机科学的世界里,Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者的喜爱。本篇文章将围绕“aA_Class...

    birthday:寻找新的维护者-生日宝典可为ActiveRecord中的日期和日期时间字段创建便捷的方法,从而可以轻松查找生日或周年纪念日

    as_birthday :birthdayend将acts_as_birthday :field_name添加到您的ActiveRecord模型中(或者,如果需要,可以添加多个字段的符号),然后就可以访问方法: birthday_age从时间点开始计算当前的周年纪念日/年龄, ...

    2006-2007年中国软件技术应用现状和趋势分析【调研报告】.ppt

    中国的软件开发人才呈现出年轻化的特点,90%以上的技术人员年龄在21至35岁之间,体现出旺盛的创新活力。在学历方面,计算机和理工科本科毕业生构成了IT技术人才的主要来源。职位分布上,中初级职位占比高达75.7%,而...

Global site tag (gtag.js) - Google Analytics