PHP:在mysql中的时间戳值中分割日期和时间

时间:2013-01-22 11:11:16

标签: php mysql date datetime

我在数据库表中有一个名为“timestamp”的字段,它以这种格式存储值: - YYYY-MM-DD HH:MM:SS。

我想拆分,然后在变量中获取日期(YYYY-MM-DD),并在另一个变量中获取时间(HH:MM:SS)。例如:

$timestamp = "2012-10-19 18:19:56";
$get_date = "2012-10-19";
$get_time = "18:19:56";

如果有人可以使用php帮助解决这个问题,我会很高兴。

6 个答案:

答案 0 :(得分:13)

你可以使用PHP的explode() function -

简单地用空格字符分割字符串
$timestamp = "2012-10-19 18:19:56";
$splitTimeStamp = explode(" ",$timestamp);
$date = $splitTimeStamp[0];
$time = $splitTimeStamp[1];

另一种方法是将strtotime()date()结合使用 -

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

答案 1 :(得分:3)

这很简单,使用爆炸,试试下面它会起作用

$new_time = explode(" ",$timestamp);
$get_date = $new_time[0];
$get_time = $new_time[1];

答案 2 :(得分:3)

您可以使用explode功能;加list函数可以使您的代码稍微缩短:

list($get_date, $get_time) = explode(" ", "2012-10-19 18:19:56");
var_dump($get_date, $get_time);

答案 3 :(得分:1)

$timestamp = "2012-10-19 18:19:56";

$splits =  explode(" ",$timestamp);

$get_date = $splits[0];

$get_time = $splits[1];

答案 4 :(得分:0)

而不是爆炸你可以像这样简单地做。这将帮助您实现您的格式。

echo $timestamp = "2012-10-19 18:19:56";
echo '<br>';
echo $data = date('Y-m-d',strtotime($timestamp));
echo '<br>';
echo $time = date('H:i:s',strtotime($timestamp));

Out put

2012-10-19 18:19:56
2012-10-19
18:19:56

答案 5 :(得分:0)

检查这个PHP小提琴:

http://phpfiddle.org/lite?code=%3C?php \ n \ n $的日期时间%20 =%20%2228-1-2011%2014:32:55%22; \ NLIST($日期,%20 $的时间)=爆炸(%27 %20%27%20 $日期时间); \ n \ n //%20check%第二十条%20result \尼哥%20%22date:%22%20 $日期; \尼哥%20%22%3Cbr%3Etime:% 22%20 $时,\ n \ n //%20further%20more%20you%20can%20easily%20split%第二十条%20date%20into \ n //%20年%20个月%20于是%20天\ NLIST($一年% $ 20月,20%$天)=爆炸(%27- 27%,20%$日期);吗?\ n \ n%3E \ n