首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP计算从时间戳开始的几年和几个月。

问PHP计算从时间戳开始的几年和几个月。
EN

Stack Overflow用户
提问于 2013-09-30 08:53:00
回答 2查看 175关注 0票数 3

我正在运行这个SQL:

从成员中选择TIMESTAMPDIFF(年份,CONCAT(dob_year,'-',dob_month,'-',dob_day)作为年龄

用数据库中的时间戳计算用户的年龄。

我有3列(dob_year / dob_month / dob_day)

上面的查询以年为单位计算出年龄,但我需要的是几年或几个月。因此,与其说年龄是10岁,不如说是10岁零2个月。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-30 09:27:30

代码语言:javascript
复制
    SELECT 
       TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
      as 
        years, 
        (TIMESTAMPDIFF(MONTH,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) - 
        TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())*12) 
      as 
        months 
      FROM 
        members
票数 3
EN

Stack Overflow用户

发布于 2013-09-30 09:05:29

这应该可以给您提供2列

代码语言:javascript
复制
1. years
2. months


SELECT 
TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE()) 
as years,
TIMESTAMPDIFF(MONTH, 
    TIMESTAMPADD(YEAR,
        TIMESTAMPDIFF(YEAR,CONCAT(dob_year, '-', dob_month, '-', dob_day),CURDATE())
    ,CONCAT(dob_year, '-', dob_month, '-', dob_day)),CURDATE()) 
as 
   months 
FROM 
   members

参考文献

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19090094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档