PHP - 使用日期 'yyyy/mm/dd' 显示年龄,POST 数据

PHP - Use date 'yyyy/mm/dd' to show age, POST data

我正在尝试获取某人生日的发布数据,以发送到另一个页面并显示他们的年龄,到目前为止,我已经得到了有效的方法

<?php
$c= date('Y');
$y= date('Y', strtotime('1993-12-29'));
echo $c - $y;
?>

但是我该如何处理发布的数据呢?我试过:

$c= date('Y');
$y= date('Y',strtotime($_POST['sBirthday']));
echo $c-$y;

虽然这不起作用,有什么想法吗?

  1. 如果此人输入正确,您发布的代码将适用于相应的 HTML-Form。例如,如果用户键入 1993-12-29:
  2. ,此表单将起作用
<form method="post" action="">
  <input type="date" name="sBirthday" />
  <input type="submit" />
</form>
  1. 您的代码实际上并没有计算一个人的年龄。想一想,某人出生于 2014-12-31;你会说他是 1 岁吗(这是你的代码会计算的)?其实他已经0岁了,因为他还没有活满一年。

    要计算一个人的年龄,请按照建议尝试 here:

$date = new DateTime($_POST['sBirthday']);
$now = new DateTime();
$interval = $now->diff($date);
echo $interval->y;