PHP损坏了我的日期
问题描述:
$doba = explode("/", $dob);
$date = date("Y-m-d", mktime(0,0,0, $doba[0], $doba[1], $doba[2]));
上面的代码将我通过的任何日期转换为1999-11-30,我知道它在昨天工作。当我回复$ doba时,日期是正确的。有人有主意吗?PHP损坏了我的日期
干杯
答
$doba
的格式是什么?记住mktime
的语法是小时,分钟,秒,月,日年这可能会令人困惑。
下面是一些例子:
$doba = explode('/', '1991/08/03');
echo(date('Y-m-d', mktime(0,0,0, $doba[1], $doba[2], $doba[0]);
$doba = explode('/', '03/08/1991');
echo(date('Y-m-d', mktime(0,0,0, $doba[1], $doba[0], $doba[2]);
答
这是一个有点矫枉过正在这种情况下使用mktime
。假设$dob
是按以下格式:
MM/DD/YYYY
你可以只以下,以acheive相同的结果(假设$dob
始终是有效的):
$doba = explode("/", $dob);
$date = vsprintf('%3$04d-%1$02d-%2$02d', $doba);
答
或更容易:$date = date('Y-m-d', strtotime($dob))
您需要向我们展示您传递给我们的值,作为$ dob让我们给出明确的答案。 – davr 2008-10-29 14:58:44