2016-06-08 33 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