2013-03-08 48 views
0

我在我的PHP代碼中有一些日期問題。 我的代碼是這樣的:有一些日期格式問題

$add_remind ="15/03/2013"; 
$add_time = "03:00"; 
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on)); 

但是,如果我打印$formated_add_remind_on,它的打印1970-01-01 05:30:00。 您能否讓我知道錯誤在哪裏?

在此先感謝。

回答

2
$add_remind ="2013-03-15"; 
$add_time = "03:00"; 
$add_remind_on =$add_remind." ".$add_time.":00"; 
$formated_add_remind_on = date('Y-m-d',strtotime($add_remind_on)); 

的strtotime不accetp這種格式:15/03/2013

0

strtotime只接受english date formats,您的日期應該是MM/DD/YYYY,使這項工作。

+0

那麼有沒有任何PHP函數改變15/03/2013至03/15/2013? – Srimanta 2013-03-08 10:28:42

+0

是啊看到@ complex857答案;) – soyuka 2013-03-08 10:32:52

+0

非常感謝,它現在工作。 – Srimanta 2013-03-08 10:36:47

1

您的日期格式似乎不被支持,is supported和看起來像「xx/xx/xxxx」的唯一日期格式是美國日期,但它們使用的是該月的第一個分段,而15不是有效的月。

您可能需要轉換輸入,或者使用類似DateTime::createFromFormatstrptime的地方,您可以在其中指定輸入格式(DateTime對象附帶其他好東西,例如非全球時區支持)。

您的格式似乎是這樣的(你可能想UTC更改爲您創建的時間戳的時區):

$d = DateTime::createFromFormat("d/m/Y H:i:s", "15/03/2013 03:00:00", new DateTimeZone('UTC'));