$doba = explode("/", $dob);
$date = date("Y-m-d", mktime(0,0,0, $doba[0], $doba[1], $doba[2]));
上面的代碼將我通過的任何日期轉換爲1999-11-30,我知道它在昨天工作。當我回復$ doba時,日期是正確的。有人有主意嗎?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))
如果你對上面說的jcoby有什麼問題,t他strptime()命令通過允許您指定格式來爲您提供更多控制。
您需要向我們展示您傳遞給我們的值,作爲$ dob讓我們給出明確的答案。 – davr 2008-10-29 14:58:44