我工作的公司的财政年度从 1 月 1 日开始,如果那是星期四,否则从上一年的最后一个星期四开始。
我编写了一个函数来执行此操作,但需要循环似乎效率低下:
function get_start_of_financial_year() {
$date = date('Y').'-01-01';
$correct_day = false;
while(!$correct_day) {
$day_num = date('N', strtotime($date));
if($day_num==4) return $date;
$date = date('Y-m-d', strtotime($date.' -1 day'));
}
}
我一直在尝试这样的事情:
function get_start_of_financial_year() {
$date = date('Y').'-01-01';
$day_num = date('N', strtotime($date));
$modifer = 4 - $day_num;
return date('Y-m-d', strtotime($date.' -'.$modifer.' days'));
}
但是,这不起作用。我知道在计算我的修饰符时我做错了,但是什么?
我在这里查看了其他类似的问题/答案,并且都略有不同,所以我认为这是一个真正的新问题。