【问题标题】:php calculate age from birth date html form [duplicate]php从出生日期html表格计算年龄[重复]
【发布时间】:2013-08-30 21:23:32
【问题描述】:

我正在寻找一种方法来计算用户在 html 表单中输入他的出生日期并按下提交按钮时的年龄。我看到了类似的问题,但它们都是关于计算已经存在的年龄,但这里我说的是输入日期然后计算年龄。

我尝试编写代码,但它给了我错误的年龄:

<form action="test.php" method="post">   

Enter your date of birth:
<select name="month" >
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>

</select>
<select name="day" id="day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select name="year" id="year">
<option value="1">2013</option>
<option value="2">2012</option>
<option value="3">2011</option>
</select>
<input type="submit" name="submit" value="age" >


<?php
if (isset($_POST['submit']))
{
$year = $_POST['year'];
$month = $_POST['month'];
$day = $_POST['day'];
if ($year != '' && $month != '' && $day != '') {
$birthDate = $year.'-'.$month.'-'.$day;

$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[2], $birthDate[1],  $birthDate[0]))) > date("md") ? ((date("Y")-$birthDate[0])-1):(date("Y")-$birthDate[0]));
echo "Age is: ".$age;
}}
?>

【问题讨论】:

  • $age = (date("md", date("U", mktime(0, 0, 0, $birthDate[2], $birthDate[1], $birthDate[0]) ????? $birthdate 不是一个数组。你希望它如何工作?
  • 也许这会有所帮助stackoverflow.com/questions/676824/…
  • 为什么不利用现有的 PHP 函数来减去您的日期? php.net/manual/en/datetime.sub.php
  • 为什么不用 Javascript 编写它并让您的服务器休息一下?!

标签: php html forms date


【解决方案1】:

您的日期是一个字符串,您尝试使用它进行计算,首先尝试将字符串解析为日期:

$birthDate = $year.'-'.$month.'-'.$day;

$time = strtotime($birthDate);

$birthDate= date('Y-m-d',$time);

也关闭&lt;/form&gt;

【讨论】:

    【解决方案2】:

    根据出生日期计算年龄的简单 php 代码

    $Age = ((time()- strtotime ($dateofbirth))  /(3600 * 24 * 365))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-12
      • 2010-10-14
      • 1970-01-01
      相关资源
      最近更新 更多