问题描述

年龄计算不精确

问题原因

1、由于age函数底层计算的公式为先计算两个时间戳的相隔天数,用相隔的天数除以365.25并将计算结果以一个带4位小数的数值返回(不四舍五入),因此不能计算出整数;
2、age函数的第三个和第四个参数未加上。

解决办法

1、编写年龄计算逻辑时给age函数添加第三个和第四个参数;
2、第三个参数为floor,第四个参数为true,如:
age($birth,$icfdat,’floor’,true);

备注:

1、在age函数中第三个参数floor意为下取整,用于当起始时间的月、日大于截止日期的月、日时准确计算年龄;
2、 在age函数中第四个参数true为四舍五入,用于当起始时间的月、日小于或等于截止日期的月、日时准确计算年龄。

发表评论