如何从PHP中的日期时间戳获取时间和日期

时间:2012-03-28 08:51:33

标签: php date

我有1个字符串,如8/29/2011 11:16:12 AM我想保存在变量中,如$ dat = 8/29/2011和$ tme = 11:16:12 AM

怎么可能?你能举个例子吗?

7 个答案:

答案 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

找到完美的例子 祝你好运,