当前位置: 首页 > 知识库问答 >
问题:

PHP Datetime`nextweek周三`给我周一

丌官远
2023-03-14

我正在尝试使用new\DateTime(“下周星期三”)获取下周的星期三日期。但是,它返回的是星期一的2016-12-19 00:00:00.000000。为什么会这样?如何得到正确的结果?

我试图在PHP沙箱中在线复制它,但它返回了正确的结果http://sandbox.onlinephpfunctions.com/code/7ab99fcfeffedc1ad01d7de9ed236ac273fe1bb3这可能取决于我的环境吗?

PHP7.0。11(cli)(创建日期:2016年10月2日00:32:59)(NTS)版权所有(c)1997-2016 PHP Group Zend Engine v3。0.0,版权所有(c)1998-2016 Zend Technologies与Xdebug v2。4.0,版权所有(c)2002-2016,作者:德里克·雷特汉斯

共有2个答案

汪正卿
2023-03-14

我在这里得到了同样的结果,实际上似乎是一个“下周”的事情:

$date = new \DateTime('next week wednesday');
print_r($date);

DateTime Object
(
    [date] => 2016-12-19 00:00:00.000000
    [timezone_type] => 3
    [timezone] => Europe/Berlin
)

重写似乎工作,取决于你想要什么:

$date = new \DateTime('wednesday');
print_r($date);

DateTime Object
(
    [date] => 2016-12-21 00:00:00.000000
    [timezone_type] => 3
    [timezone] => Europe/Berlin
)

或者

$date = new \DateTime('wednesday');
$date->add(new \DateInterval('P1W'));
print_r($date);

DateTime Object
(
    [date] => 2016-12-28 00:00:00.000000
    [timezone_type] => 3
    [timezone] => Europe/Berlin
)
胡桐
2023-03-14

这似乎是一个错误(可能这个只发生在周日):

<?php

var_dump(new \DateTime('Wednesday next week'));

PHP版本5.6。23至5.6。29和7.0。8至7.1。0输出12月19日(星期一),而PHP版本为5.0至5.6。22和7.0。0到7.0。7返回12月28日(星期三)。

我在PHP 5.6.23或7.0.8的更改日志条目中没有看到任何相关更改。

 类似资料:
  • 我如何在AWS上每周日和周三凌晨2点UTC运行cron作业。 时间很好,只是天数似乎是错误的格式(通过无服务器获取)。但是我能找到的所有资源都只做状态范围的天数,如何选择单个资源?

  • 我有这样的复选框: 例如,如果选择周一、周三、周五、周六、周日。返回周一、周三、周五-周日 例如,如果选择Sat, Sun.返回Sat-Sun 例如,如果选择Mon, Tue, Thu, Sat, Sun返回Mon, Tue, Thu, Sat, Sun 我该如何实现这一点?这可能吗?

  • 一个人怎么能运行一个cron作业为每周一,周三和周五晚上7点?

  • 我希望我的 cron 在星期一 10 点、星期三 11 点和星期五 12 点运行脚本 我试过这个 但这将在那些日子里运行脚本10小时,有帮助吗?

  • 问题内容: 我想查找给定月份中的所有星期六和星期日。我该怎么办? 问题答案: 在 最简单 的方法是只迭代所有在一个月的日子里,检查一周的某一天为他们每个人。例如: 我 绝对可以确定 ,这样做的方式要高效得多-但这就是我的出发点,当发现速度太慢时进行优化。 请注意,如果您能够使用Joda Time,那将使您的生活更加轻松…

  • 我需要在我的dim_date中添加新的业务wee,实际上我有一个月中的星期,如下表所示,每7天计算一次。 但是对于这个商业周专栏,一周应该从星期一开始,到星期日结束,即使第一周只有一天(当一个月从星期日开始时),但如果月份从星期五开始,我应该将其视为该月的第一周。 你有什么建议来计算这个吗?谢谢