2014-11-21 132 views
0

我結束了棒的短端和一個非常冗長的字符串作爲日期:轉換冗長字符串日期PHP

Sun Oct 5, 2014 10am to 11am PDT 

我想將其轉換爲一個PHP Date對象,所以我可以寫它到一個MySQL數據庫。如果您注意到,它有一個「to」,表示事件持續時間。我已經搜索了這個轉換相當多,並沒有發現任何不是廣泛的字符串解析。我接受所有的建議和想法。

回答

1

原因這不是一個有效的時間或日期字符串,你將無法解析它,因爲它是。即使您看起來不喜歡這種方式,也必須進行一些字符串解析。

如果你想有你有做2個日期的持續時間,並從更高的一個

0

減去低以下是此一個變通。首先需要解析字符串,然後生成數據庫保存的開始日期和結束日期/時間

$d = 'Sun Oct 5, 2014 10am to 11am PDT'; 
$de = explode('to',$d); 
$from = DateTime::createFromFormat('D M d, Y Ha', trim($de[0])); 
$to_time = explode(' ',trim($de[1])); 
$to = DateTime::createFromFormat('Y-m-d Ha',$from->format("Y-m-d").' '.trim($to_time[0])); 
echo $from->format("Y-m-d H:i:s"); 
echo '<br />'; 
echo $to->format("Y-m-d H:i:s"); 
echo '<br />';