$doba = explode("/", $dob);
$date = date("Y-m-d", mktime(0,0,0, $doba[0], $doba[1], $doba[2]));
以上代码将我通过的任何日期变为1999-11-30,我知道它昨天正在运作。当我回显$ doba时,日期是正确的。有人有什么想法吗?
干杯
答案 0 :(得分:3)
$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]);
答案 1 :(得分:3)
甚至更容易:$date = date('Y-m-d', strtotime($dob))
答案 2 :(得分:2)
在这种情况下使用mktime
有点过分。假设$dob
采用以下格式:
MM/DD/YYYY
您可以通过以下方式获得相同的结果(假设$dob
始终有效):
$doba = explode("/", $dob);
$date = vsprintf('%3$04d-%1$02d-%2$02d', $doba);
答案 3 :(得分:0)
如果您对jcoby上面说的内容有疑问,strptime()命令可以让您通过指定格式来获得更多控制权。