2012-02-14 136 views
3

下面的代碼...PHP,日期()不返回正確的日期/時間

$date = "02-13-2012"; 
$start_time = "17:30"; 
$end_time = "20:00"; 

$start_timestamp = date("m-d-Y H:i",strtotime($date." ".$start_time)); 
$end_timestamp = date("m-d-Y H:i",strtotime($date." ".$end_time)); 

print($start_timestamp); 
print($end_timestamp); 

返回...

1969-12-31 19:30:00

1969-12-31二十時30分零零秒

沒有人有任何想法,爲什麼這不能正常工作?

+1

試試這個$ date =「2012-02-13」; – busypeoples 2012-02-14 01:58:13

+0

好問題:)。我在一次過去 – 2012-02-14 02:00:07

回答

0

看到這一點。我認爲你必須改變日期格式。

$date = "02-13-2012"; 
$date = str_replace("-","/",$date); 
$start_time = "17:30"; 
$end_time = "20:00"; 

$start_timestamp = date("m-d-Y H:i",strtotime($date." ".$start_time)); 
$end_timestamp = date("m-d-Y H:i",strtotime($date." ".$end_time)); 

print($start_timestamp); 
echo "<br/>"; 
print($end_timestamp); 
+0

這工作,我所要做的就是更換'-'以'/'和它的工作。感謝您的建議。 – 2012-04-10 05:17:23

0

您的日期格式不適合的strtotime功能

要麼改變是

$date = "13-02-2012"; 

或一些其他有效的格式

0

正確,strtotime()解釋爲正常格式的日期,而不是美國的日期,因此它是dd-mm-yyyy

+2

「正常」迷迷糊糊是一個相對的概念 – stillstanding 2012-02-14 02:01:03

+0

@still月 - 日 - 年是*顯然不正常*。 ;-P – deceze 2012-02-14 02:13:10

+0

好吧,與PHP strtotime解析器不正常有關。 :P – entropid 2012-02-14 12:47:28