【问题标题】:mktime returns wrong datesmktime 返回错误的日期
【发布时间】:2013-08-14 11:40:26
【问题描述】:

我正在尝试从 html 中获取日期,我使用 mktime 将其转换为日期,例如:Monday

$dayisarr=date( "l", mktime(0,0,0, $duedt[1], $duedt[0],$duedt[2] ));  

当我打印它时,它返回给我一个错误的日子......就像 Friday 这是错误的......
我试图将l 更改为r,它打印了整个日期,并且打印了错误的月份和年份。我在互联网上搜索了很长时间,但我什么也没找到。

【问题讨论】:

  • 请检查您的参数是否正确,即 $duedt[] 正在传递变量。 refer to this manual
  • 你的默认时区是什么,你传递了什么值?检查你的 ini

标签: php date mktime


【解决方案1】:

为什么要使用 mktime? DateTime 要简单得多。

$duedt = array(8, 14, 2013);
$dayisar = (new \DateTime())->setDate($duedt[2], $duedt[0], $duedt[1])->format('l');
var_dump($dayisar);

输出:-

string 'Wednesday' (length=9)

【讨论】:

    【解决方案2】:

    你可以使用

    $dayisarr=date( "l", strtotime($duedt[2] . '-' . $duedt[1] . '-' . $duedt[0]));
    

    【讨论】:

      猜你喜欢
      • 2013-10-11
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多