PHP   发布时间:2022-04-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php – 跨年DatePeriod宽度DateInterval P7D失去新的一周大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用PHP DatePeriod进行一系列的周年纪念,如下所示:

$from = new DateTime('2014-09-16');
$to = new DateTime('2015-02-25');

$interval = new DateInterval('P7D'); // 7Days => 1 Week
$daterange = new DatePeriod($from, $interval, $to);

$yearweeks = array();
foreach($daterange as $date) {
    $yearweeks[$date->format('YW')] = 'W' . $date->format('W-Y');
}

结果很奇怪!
新年的第一周不见了.我有前一年的第一周而不是这样:

Array
(
    ...
    [201451] => W51-2014
    [201452] => W52-2014
    [201401] => W01-2014 // WTF ? /!\ [201501] => W01-2015 expected ! /!\
    [201502] => W02-2015
    [201503] => W03-2015
    ...
)

有没有办法避免这种错误

解决方法:

您需要使用ISO年份,格式为“o”:

$yearweeks[$date->format('oW')] = 'W' . $date->format('W-o');

PHP date docs

大佬总结

以上是大佬教程为你收集整理的php – 跨年DatePeriod宽度DateInterval P7D失去新的一周全部内容,希望文章能够帮你解决php – 跨年DatePeriod宽度DateInterval P7D失去新的一周所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: