gpt4 book ai didi

PHP计算财政年度的开始

转载 作者:可可西里 更新时间:2023-11-01 13:50:22 25 4
gpt4 key购买 nike

我工作的公司的财政年度从 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'));
}

但是这不起作用。我知道我在计算修饰符时做错了什么,但是什么?

我在这里查看了其他类似的问题/答案,但都略有不同,所以我认为这是一个真正的新问题。

最佳答案

根据doc

"'last' dayname" takes the last dayname from the current day. (Example: "last wed july 2008" means "2008-06-25"; "july 2008" first sets the current date to "2008-07-01" and then "last wed" moves to the previous Wednesday which is "2008-06-25").

所以你的情况是

function get_start_of_financial_year($year) {
// get the first Thursday before 2 Jan of $year
return date("Y-m-d", strtotime("last Thursday $year-01-02"));
}

echo get_start_of_financial_year( date("Y") );

关于PHP计算财政年度的开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com