2015-05-13 65 views
0

我有一個簡單的功能自定義DateTime轉換爲時間戳做了很多的搜索,但我沒有得到確切的解決方案:自定義格式的日期時間爲TIMESTAMP

日期時間str是:

$dt = "14-05-2015 18:21";

(日 - 月 - 年小時:分鐘)(不是標準日期時間格式)

是否有一個簡單的函數來將此字符串轉換爲時間戳?

謝謝。

回答

2

不能超過簡單:

$dt = "14-05-2015 18:21"; 
echo strtotime ($dt); //1431627660 
+0

但是PHP如何判斷第一個和第二個元素是否是Day then Month而不是相反?與手冊中的「06-05-2015 18:21」 – medk

+1

一樣:「通過查看各個組件之間的分隔符,可以消除m/d/y或dmy格式中的日期:如果分隔符是斜線(/), ,那麼假設美國的m/d/y;而如果分隔符是破折號( - )或點(。),則假定歐洲dmy格式。「 - 請閱讀:http://php.net /manual/en/function.strtotime.php –

2

如果格式都是一樣的,你能做到這樣。

$date = DateTime::createFromFormat('d-m-Y H:i', $dt); 
$timestamp = $date->format('U'); 
+0

OP已經說過需要一個unix時間戳,'DateTime'類的用法很酷,但這不是OP想要的,只需使用'U'或' - > getTimestamp() ',爲什麼不使用'createFromFormat'來避免模糊交換'dm' /'md'的問題 – Ghost

+0

你是對的@Ghost,我改變了答案。 – EternalHour

+0

@Ghost - 謝謝,我們正要改變這一點:) – EternalHour