【问题标题】:How can I calculate the age using todays date and date of birth in php [duplicate]如何在php中使用今天的日期和出生日期计算年龄[重复]
【发布时间】:2021-03-17 03:49:15
【问题描述】:

//HTML代码

<div class="form-group">
<input name="dateOfBirth" type="date" class="form-control" required data-validation-required-message="Date of birth is required">
</div>

// php代码

$todaysDateSpecific = date("Y-m-d");
$dateOfBirth = $_POST['dateOfBirth'];
$customerAge = date_diff(date_create($todaysDateSpecific, date_create($dateOfBirth)));

// 不计算customerAge // 显示错误信息

警告:date_diff() 至少需要 2 个参数,其中 1 个在 C:\xampp\htdocs\Beer sales 和 //distribution management system\company_customer_management.php 第 94 行中给出

【问题讨论】:

    标签: php html forms date datetimepicker


    【解决方案1】:

    您的问题在

    $customerAge = date_diff(date_create($todaysDateSpecific, date_create($dateOfBirth)));
    

    您有date_create,它从参数返回一个 DateTime 对象。在您的情况下,您将两个日期作为参数传递给一个 date_create

    试试:

    $todaysDateSpecific = date_create("2017-03-15");
    $dateOfBirth = date_create($_POST['dateOfBirth']);
    $customerAge = date_diff($todaysDateSpecific, $dateOfBirth);
    

    【讨论】:

      【解决方案2】:

      要计算年龄,请获取今天和出生日期之间的年份:

      假设 POST['dateOfBirth'] 的格式为“YYYY-mm-dd”

      <?php
      
      
      $today = date("Y-m-d"); 
      
      $dateOfBirth = $_POST['dateOfBirth']; 
      
      // $dateOfBirth = '1987-10-14'; 
      
      
      $xtoday =strtotime($today);
      
      $xdateOfBirth =strtotime($dateOfBirth);
      
      $diff = abs($xdateOfBirth - $xtoday); 
      
      $years = floor($diff / (365*60*60*24));
      
      echo $years; 
      
      ?>
      

      【讨论】:

        猜你喜欢
        • 2011-03-02
        • 2023-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多