2016-06-08 133 views
1

我正在研究一個WordPress插件,該插件允許用戶使用jQuery下拉腳本選擇時間。時間是格式爲「5:34 PM」的字符串。我需要以datetime格式將該值保存到mysql數據庫中。將字符串轉換爲使用AM/PM的mysql datetime

到目前爲止,我可以保存日期和時間,但AM/PM不被計算在內

這是我的PHP函數:

function db_tables_insert() { 
    global $wpdb; 
    $table_name = $wpdb->prefix . 'tweettweet'; 
    $tweet = $_POST["tweet"]; 
    $time = $_POST["timepicker"]; 
    $time=preg_replace('/\s+/', '', $time); 
    $date = "2015-02-08:"; 
    $datetime = $date.$time; 

    $wpdb->insert( 
     $table_name, 
     array( 
      'time' => $datetime, 
      'text' => $tweet, 
     ) 
    ); 
} 

在這個例子中,保存的值數據庫將是「2015-02-08 12:13:00」(假設用戶選擇12:13的時間)。問題是,無論用戶選擇上午12:13還是下午12:13,該值都是相同的。

我需要一種轉換字符串的方式,以便在保存到數據庫時考慮「am/pm」。

回答

1

strtotime應該可以處理這個問題。

echo date('Y-m-d H:i:s',strtotime('2014-12-12 12:34 AM')); 

回報2014-12-12 00:34:00

+0

好了,所以我將如何整合到這一點我的代碼?這似乎並不奏效:$ newdate = date('Y-m-d H:i:s',strtotime($ datetime)); – user715564

+0

更改這兩行。 '$ date =「2015-02-08」;'和 '$ datetime = $ date。 ''。$ time;' – phreakv6

+0

完美,謝謝! – user715564