在我们的人力资源系统中,我们想要计算员工为公司服务的年数.
我们所拥有的是TIMESTAMP列中的加入日期.
我在做的是:
$timeNow = time(); // current time
$joinDate = strtotime($users->fields['date_of_joining']); // from database
$servicePeriod = $timeNow - $joinDate; // in seconds
$servicePeriod = $servicePeriod / 31570560; // in years
Run Code Online (Sandbox Code Playgroud)
但是这会考虑闰年吗?如果一名员工加入Feb 27了闰年,如果我们明年检查他们的状态March 1,他仍应按照服务1 year而不是报告1 year and 1 day.
有什么想法吗?谢谢.
你的方法似乎是一种不必要的迂回方式来计算它.怎么样(伪代码):
years = current_date.year - start_date.year
if current_date.mmdd < start_date.mmdd:
years = years - 1
Run Code Online (Sandbox Code Playgroud)