如何将20:13-02-05T13:45:17-0500转换为MySQL日期时间?

时间:2013-02-06 12:28:43

标签: php mysql datetime

在PHP中,如何将格式为20:13-02-05T13:45:17-0500的日期/时间字符串转换为有效的MySQL日期时间,以便我可以存储它?

到目前为止,我已经尝试了

$date_id = date('Y-m-d H:i:s', strtotime($date_id));

3 个答案:

答案 0 :(得分:1)

我认为这应该有效:

$date_to_store = '20:13-02-05T13:45:17-0500';
$date_for_mysql = date( 'Y-m-d H:i:s' , strtotime( $date_to_store ) );

然后在您的查询中,只需插入$date_for_mysql

mysql_query("INSERT INTO `table` (`timestamp`) VALUES ('" . $date_for_mysql . "')");

当然你应该使用预备语句,但这只是为了说明日期转换。

答案 1 :(得分:0)

explode(your_time);

这可以让你获得时间块,然后使用date和mktime。

date(Your_preferred_format, mktime(chunks_as_per_mktime));

答案 2 :(得分:0)

// convert non-standard year format 20:13 to 2013
$date = preg_replace ('/^(\d{2}):(\d{2})/', '$1$2', $date_id);

$timestamp = strtotime ($date);
echo date ('Y-m-d H:i:s', $timestamp);