我有1个字符串,如8/29/2011 11:16:12 AM
我想保存在变量中,如$ dat = 8/29/2011和$ tme = 11:16:12 AM
怎么可能?你能举个例子吗?
答案 0 :(得分:57)
E.g。
<?php
$s = '8/29/2011 11:16:12 AM';
$dt = new DateTime($s);
$date = $dt->format('m/d/Y');
$time = $dt->format('H:i:s');
echo $date, ' | ', $time;
请参阅http://docs.php.net/class.datetime
编辑:保持AM / PM格式使用
$time = $dt->format('h:i:s A');
答案 1 :(得分:6)
<?php
$date = strtotime('8/29/2011 11:16:12 AM');
$dat = date('m/d/y', $date);
$tme = date('H:m:s A',$date);
?>
有关date()函数的更多信息,请访问http://php.net/manual/en/function.date.php
答案 2 :(得分:6)
你可以使用strtotime功能,只要日期是在1970年1月1日之后 -
<?php
$s = strtotime('8/29/2011 11:16:12 AM');
$date = date('m/d/Y', $s);
$time = date('H:i:s A', $s);
?>
http://php.net/manual/en/function.strtotime.php
strtotime从您传递给它的字符串创建一个UNIX时间戳。
答案 3 :(得分:3)
这可能不是最干净的方法,但你可以使用爆炸(注意这里根本没有验证)。它比正确的日期操作更快。
$str = '8/29/2011 11:16:12 AM';
$dates = explode(' ', $str);
$dat = $dates[0];
$time = $dates[1];
答案 4 :(得分:2)
如果您的PHP版本足够新,请查看date_parse()及其返回的数组。然后,您可以使用相关条目格式化日期或时间部分。
答案 5 :(得分:1)
这应该可以解决问题:
$mystring_datetime = ....;
$dt = DateTime::createFromFormat('m/d/Y H:i:s A', $mystring_datetime );
$d = $dt->format('m/d/Y');
$t = $dt->format('H:i:s A');
您也可以这样做,但不是首选方式:
$mystring_datetime = ....;
list($date, $time) = explode(' ', $mystring_datetime, 2);
现在,$date
和$time
具有适当的值......
答案 6 :(得分:0)
是的,这是可能的,可以在http://php.net/manual/en/function.date.php
找到完美的例子 祝你好运,