我环顾四周但仍然收到错误。
我有以下字符串:
$date = "25 Jan 2013 07:30 PM";
但我需要将它作为单独的日期和时间字段添加到sql中。有什么建议我如何将它转换为日期而不是字符串?当我尝试使用像
这样的东西时strtotime($date);
我最终得到了:
1359142200
答案 0 :(得分:4)
选项1:
$date = date("Y-m-d", strtotime("25 Jan 2013 07:30 PM"));
$time = date("H:i:s", strtotime("25 Jan 2013 07:30 PM"));
选项2
$datetime = DateTime::createFromFormat("j M Y H:i A", "25 Jan 2013 07:30 PM");
$date = $datetime->format("Y-m-d");
$time = $datetime->format("H:i:s");
答案 1 :(得分:1)
要获得最佳效果,请使用DateTime::createFromFormat
将$date
转换为DateTime
个对象,然后使用DateTime::format
获取单独字段的值。
示例:
$dt = DateTime::createFromFormat("d M Y H:i A", "25 Jan 2013 07:30 PM");
$date = $dt->format("Y-m-d");
$time = $dt->format("H:i:s");
答案 2 :(得分:-1)
所以你只想让它们分开?类似的东西:
$year_month_day = date('Y/m/d', strtotime($date));
$timestamp = date('H:i:s', strtotime($date));
答案 3 :(得分:-1)
如果您想将它作为时间戳,那么strtotime()
是要使用的PHP函数: -
http://php.net/manual/en/function.strtotime.php
如果你想要它在MySQL日期格式字符串中,那么strtotime()
与date()
的组合将是这样的答案: -
$db_date = date("Y-m-d H:i:s", strtotime($date) );