我是php的新手,我想知道如何转换这个字符串:
Tue Jan 17 09:17:15 CST 2012
采用适合
的MySQL日期时间格式(24小时)的格式01-17-2009 09:17:15
我发现MySQL函数FROM_UNIXTIME()据说可以从PHP时间戳转换为MySQL DateTime。我的问题是将原始字符串转换为正确的PHP时间戳格式。
答案 0 :(得分:2)
快速尝试:
$dt = 'Tue Jan 17 09:17:15 CST 2012';
$ts = strtotime( $dt );
echo date('Y-m-d G:i:s', $ts);
输出:2012-01-17 16:17:15
时差来自时区。我的服务器是UTC + 1,CST是UTC-6
答案 1 :(得分:0)
你也可以使用mysql函数,但我不确定时区。
select DATE_FORMAT(STR_TO_DATE('Tue Jan 17 09:17:15 CST 2012','%a %b %e %h:%i:%s CST %Y'),'%m-%d-%Y %h:%i:%s');
答案 2 :(得分:0)
如果你有php> = 5.3,你可以使用\ DateTime :: createFromFormat。我更喜欢这个解决方案而不是strtotime,因为操纵日期你使用的东西意味着“日期”而不是整数。
$date = \DateTime::createFromFormat('D M d h:i:s T Y',$dt);