2013-08-27 112 views
-2

我正在尋找一種方法來計算用戶在html表單中輸入其出生日期的年齡並按提交按鈕。我看到了類似的問題,但他們都是關於計算已存在的年齡,但在這裏我正在討論輸入日期,然後計算年齡。php從出生日期計算年齡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; 
}} 
?> 
+0

$ age =(date(「md」,date(「U」,mktime(0,0,0,$ birthDate [2],$ birthDate [1],$ birthDate [0])???? ???? ? $ birthdate不是一個數組。你如何期待這個工作? – DevlshOne

+0

也許這可能是有用的http://stackoverflow.com/questions/676824/how-to-calculate-the-difference-between-two-dates-using-php – davidkonrad

+0

< - - 這是什麼?公曆一年的新月? – DevlshOne

回答

1

你的日期是一個字符串,並嘗試用它來計算,首先嚐試解析字符串到日期:

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

$time = strtotime($birthDate); 

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

也接近</form>

0

簡單的PHP代碼從誕生之日起計算年齡

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