Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取上一周的年份,并给出下一年的某一天_Php_Datetime - Fatal编程技术网

PHP获取上一周的年份,并给出下一年的某一天

PHP获取上一周的年份,并给出下一年的某一天,php,datetime,Php,Datetime,我的日期如下: 2016-12-30 2016-12-31 2017-01-01 使用以下PHP代码: $my_date = new DateTime(); $my_week = $my_date ->format("W"); $my_year = $my_date ->format("Y"); 我得到这个结果: 2016-12-30 -> week 52 / year 2016 2016-12-31 -> week 52 / year 2016 2017-01-

我的日期如下:

2016-12-30
2016-12-31
2017-01-01
使用以下PHP代码:

$my_date = new DateTime();
$my_week = $my_date ->format("W");
$my_year = $my_date ->format("Y");  
我得到这个结果:

2016-12-30 -> week 52 / year 2016
2016-12-31 -> week 52 / year 2016
2017-01-01 -> week 52 / year 2017
我需要得到上周的年份,对应于2017年的天数

在我的例子中,我需要:

2017-01-01 -> week 52 / year 2016 
(因为根据ISO-8601,对应于2016年第52周)


如何使用PHP获取此数据?

要获取年份和周,请使用以下代码:

<?php
   $d = new DateTime("2017-01-01");
   $res =  $d->format('o-\WW-N');

   $r = explode('-',$res);

   echo "week ".$r[1]." / year ".$r[0];
?>


也许可以看看Carbon库,它是一个用于操作/计算时间的PHP日期时间库。这可能有用,但我需要一年而不是一周!完美无缺