我正在尝试确定用户的确切年龄,计算出他们的出生日期。
我需要能够判断他们当前是否是当年的1/2。
示例:的
以下是我目前用于年龄计算功能的内容:
$birthday = new DateTime($birthday);
$interval = $birthday->diff(new DateTime);
$age = $interval->y;
谢谢!
答案 0 :(得分:2)
好像你可以测试间隔的m部分。
if ($interval->m >= 6 ) {
// it's $age + 1/2
}
答案 1 :(得分:2)
计算区间中的确切月份,然后除以6,截断,然后除以2.
/6 + truncate + /2
与/12
类似,只有.0或.5。
<?php
$birthday = new DateTime('08/17/1983');
$interval = $birthday->diff(new DateTime);
$age = floor((($interval->y * 12) + $interval->m) / 6) / 2;
//To display with floating point
echo $age;
echo '<br />';
//To display with "1/2"
echo floor($age) . (fmod($age, 1) == 0.5 ? ' 1/2' : '');
?>
结果:29.5
和29 1/2