gpt4 book ai didi

php - 日期时间,+1 周和 -1 周工作方式不同

转载 作者:行者123 更新时间:2023-12-02 21:33:06 25 4
gpt4 key购买 nike

我有几个函数需要在几周内来回切换。

我发现的一个令人惊讶且不受欢迎的行为是:

$date = new DateTime();
$date->setISODate(2014, 52);
$date->modify('+1 week');
echo date('YW', $date->getTimestamp()) . '<br />';

$date->setISODate(2014, 01);
$date->modify('-1 week');
echo date('YW', $date->getTimestamp()) . '<br />';

此代码打印:
201401
201352

我的期望是:
201501
201352

三个问题:

1)我在上面的代码中做错了什么,或者“+1周”和“-1周”之间是否存在不一致的行为(如在第一种情况下年份没有被步进)?

评论回复:
它永远不会增加/减少年份,但第 1 周恰好从 2013 年 12 月开始,因此在“-1 周”示例中,它似乎减少了年份。

2) 如果存在不一致,我可以相信代码在不同平台和 PHP 版本上都能正常工作吗?

答案:
没有不一致之处(参见已接受的答案)

3)是否有更好的方法可以在时间上前后移动 1 周(输入是年和周,输出也是年和周)?

奖励问题)如果确实存在不一致,有人知道为什么吗?

答案:
没有不一致之处,请参阅第 1 条答案的解释

最佳答案

  • Y 是自该日期起的年份
  • o 是 ISO-8601 年份编号
  • W 是 ISO-8601 一年中的周数

如果使用“W”表示周数,则使用“o”表示年份。

关于php - 日期时间,+1 周和 -1 周工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961351/

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