gpt4 book ai didi

php - 如何找出约会前一天的日期?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:51:17 25 4
gpt4 key购买 nike

我有一个系统可以将截至当前日期的会计年度与前一年的相同日期范围进行比较。您可以调整要查看的年份和月份,它始终会将相同的日期范围与前一年进行比较。我已经设置好了,所以如果今天是闰日,它与去年的 28 日相比,如果去年是闰年而今天是 2 月 28 日,它与去年的 29 日相比。如果您查看当前月份以外的月份,它会显示该月的最后一天,否则会显示当前日期。

好的,现在工作正常,但现在我的雇主不希望它达到当前日期,他们希望它达到昨天的日期。我该怎么做,我主要关心的是如果今天是每月的 1 号,或者如果今天是财政年度的第一天怎么办。

这是我现在的代码:

function create_YTD_XML()
{
global $month;
global $year;

$last_year = $year - 1;

if($year == date('Y') && $month == date('m'))
{
$this_day = date('d');
}
else
{
$this_day = date('t', mktime(0, 0, 0, $month, 1, $year)); // LAST DAY OF MONTH
}

if(is_leap_year($year) && $this_day == 29)
{
$last_day = 28;
}
else if(is_leap_year($last_year) && $this_day == 28)
{
$last_day = 29;
}
else
{
$last_day = $this_day;
}

if($month >= 2)
{
$this_year_start = $year;
$last_year_start = $last_year;
}
else
{
$this_year_start = $year - 1;
$last_year_start = $last_year - 1;
}

$this_ytd_start = $this_year_start.'-02-01';
$last_ytd_start = $last_year_start.'-02-01';

$this_ytd_end = $year.'-'.str_pad($month, 2, "0", STR_PAD_LEFT).'-'.$this_day;
$last_ytd_end = $last_year.'-'.str_pad($month, 2, "0", STR_PAD_LEFT).'-'.$last_day;


}

什么是最好的解决方案?

谢谢!

最佳答案

strtotime()会成功的。使用 mktime() 将您之前的日期转换为 Unix 时间戳,然后像这样使用它:

$from_unix_time = mktime(0, 0, 0, $month, $day, $year);
$day_before = strtotime("yesterday", $from_unix_time);
$formatted = date('Y-m-d', $day_before);

关于php - 如何找出约会前一天的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/781949/

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