【问题标题】:Calculate age given the birth date in the format yyyy-mm-dd [duplicate]以 yyyy-mm-dd 格式计算给定出生日期的年龄 [重复]
【发布时间】:2018-11-29 17:41:29
【问题描述】:

如果出生日期格式为 YYYY-MM-DD,我如何计算以年和月为单位的年龄?是否可以使用 Date() 函数?

我已经在 php 中完成了。下面是我的代码

   $dateOfBirth = date("Y-m-d", strtotime($post->date_of_birth));
   $today = date("Y-m-d");
   $age= $diff->format("%Y Years, %M Months");
   echo $age;

我在 json 中得到结果。我可以在显示时将 php 代码嵌入到 json 中吗?或者如何使用出生日期以年和月为单位获取年龄....??

【问题讨论】:

  • 您可以提供 (javascript) Date() 和 iso 格式的日期,它将创建该日期的对象表示。然后你只需要对当前日期进行数学运算。请记住,除非您添加其他逻辑,否则年龄将完全基于客户端计算机上的日期设置。如果准确的年龄非常重要,那么您必须考虑到这一点,或者在服务器端计算年龄。
  • 这个数据库有关系吗?
  • 为什么这被标记为 javascript 和 jquery?
  • 来自 PHP 手动用户贡献 1 (php.net/manual/en/function.date-diff.php) 3v4l.org/ZfCBJ

标签: javascript php jquery json datetime


【解决方案1】:

在 php 中,您可以使用 datetime 对象来做到这一点:

$dateOfBirth = new DateTime($post->date_of_birth);
$today = new DateTime();
$diff = $today->diff($dateOfBirth);
//echo $diff->format("%Y Years, %M Months");

如果你想将其输出为 json,你可以:

echo json_encode(['diffString' => $diff->format("%Y Years, %M Months")]);

【讨论】:

  • 但是我正在使用 ajax 并以 json 格式检索数据,现在我需要从出生日期计算年龄
  • 只需在响应中发送差异,这样您就不必两次做同样的工作。
  • 你可以使用array_merge php函数。 array_merge(['diffString' => $diff->format("%Y Years, %M Months")], $myOtherArray)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
相关资源
最近更新 更多