2012-05-11 21 views
-2

我有以下代碼:如何獲得時間()就像從mktime值()

$value = '2012-03-05'; 
$parts = explode('-',$value); 
$value = mktime(0,0,0,$parts[1],$parts[0],$parts[2]); 

// output of $value is 2012 

不應該類似於time()mktime()回報輸出?

我的代碼有什麼問題?

+1

第五個參數是白天,但是你在那裏通過一年。切換$ parts [0]和$ parts [2]。 – ccKep

+0

它總是一個好主意,發佈一個最小的代碼片段來演示你的問題。但是,確保它在將所有其他東西全部清除後仍然顯示出問題。 – goat

回答

5

使用strtotime功能,以表示一個時間unix時間戳數

$value = "2012-05-25"; 
$time = strtotime($value." 00:00:00"); 
//$time = strtotime($value); will do the work as well 
+0

完美工作,謝謝:) – Eric

+0

這不是答案。 –

+0

請注意,不需要添加「00:00:00」。 '$ time = strtotime(「2012-05-25」);'完成相同。 – dqhendricks

0

是,mktime()應該返回一個Unix時間戳,就像時間的字符串轉換()一樣。您發佈的代碼並不正確地代表您正在執行的代碼,如果不是這種情況。

繼承人演示 http://codepad.org/7RNxk0Oz

1

那是錯誤的使用mktime。這裏前一年在之前沒有過。使用這個,

mktime(0,0,0,$parts[1],$parts[2],$parts[0]);