编程语言
首页 > 编程语言> > 如何在去年用PHP获取这一天?

如何在去年用PHP获取这一天?

作者:互联网

所以我现在正在使用Carbon来获取日期,时间和比较.我可以很容易地做subYear()去年获得这个日期.现在我需要一些东西在去年的同一时间完成同一天,例如4月的第二周的星期三.

我希望必须做一些能够在本周的当天工作的东西,例如3,以及今年的当前一周,然后去年获得相同的价值.

我以为我会检查Carbon或其他PHP工具中是否有可用的东西?谢谢

解决方法:

我认为DateTime::setISODate()正是您所需要的:

$today = new \DateTime();

$year  = (int) $today->format('Y');
$week  = (int) $today->format('W'); // Week of the year
$day   = (int) $today->format('w'); // Day of the week (0 = sunday)

$sameDayLastYear = new \DateTime();
$sameDayLastYear->setISODate($year - 1, $week, $day);

echo "Today: ".$today->format('Y-m-d (l, W)').PHP_EOL;
echo "Same week and day last year: ".$sameDayLastYear->format('Y-m-d (l, W)').PHP_EOL;

输出(今天,2015-05-05):

Today: 2015-05-05 (Tuesday, 19)
Same week and day last year: 2014-05-06 (Tuesday, 19)

标签:php,datetime,php-carbon
来源: https://codeday.me/bug/20190725/1528006.html