【问题标题】:When using strtotime in my function it returns false (1st Jan 1970)? [closed]在我的函数中使用 strtotime 时,它​​返回 false(1970 年 1 月 1 日)? [关闭]
【发布时间】:2016-01-18 14:32:28
【问题描述】:

在我的函数中使用 strtotime 时,它​​返回 false(1970 年 1 月 1 日)?

这是我使用 strtotime 的地方。我需要在我的 strtotime 中使用 week 仅供参考。 任何想法的人?

$year  = '2016';
$month = '01';

$weekStart = date('W', strtotime($year . '-' . $month . '-01'));

echo $weekStart;


    for ($weekNumber=0;$weekNumber<=$weekEnd;$weekNumber++)
{
    runTheScript($weekNumber,$month,$weekStart,$weekEnd,$link,$limit,$standardTarget,0,$year);
}

【问题讨论】:

  • @fvu 您忘记了编辑中的最后一个; :)
  • 对我来说很好,输出53。
  • 这里也有 53 个。你在什么操作系统上运行?你的语言环境是什么?
  • 哪个 PHP 版本?
  • runTheScript() 是做什么的?和上面的代码行有什么关系?

标签: php function date strtotime


【解决方案1】:

https://en.wikipedia.org/wiki/ISO_week_date:

一年的第一周是包含一年中第一个星期四的那一周(因此,总是包含 1 月 4 日)。

【讨论】:

  • 那么我怎样才能得到前 3 天呢?
  • 你刚刚得到它:53。这是 2015 年的第 53 周
  • 我得到 - 周 - 53 开始 - 2015 年 12 月 28 日 结束 - 2015 年 12 月 31 日
  • 2015 年 12 月 31 日是星期四,因此该周在 2016 年 1 月 2 日星期日结束
  • 对不起,这是 ISO 同意的定义,我无法为您更改。如果你想要你自己的定义,那么你可以编写你自己的代码来偏离标准,你希望
【解决方案2】:
for ($weekNumber=1;$weekNumber<=$weekEnd;$weekNumber++) { /* Your Stuff */ }

【讨论】:

  • 这给了我 - 周:01 - 开始:2016 年 1 月 4 日 - 结束:2016 年 1 月 10 日......我错过了一年中的前 3 天
猜你喜欢
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 2020-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多