2013-02-02 88 views
0

是否有可能将日期时间字符串的时间部分拆分为小时,分钟和秒,以便每个字段有单个数值?理想情况下从MySQL数据库中检索。如何拆分日期时间戳的时间组件?

我在网站上看过关于如何拆分日期和时间部分,但似乎没有关于我的具体问题的建议。提前谢谢了。

P.S我会选择使用PHP的MySQL数据库的日期时间。

+0

是的,这是可能的。现在告诉我们你有什么尝试? –

+0

什么也没有。我不知道如何。 – Hector

回答

1

如果你想直接在SQL这样做:

SELECT HOUR(timestamp_field) AS HOUR, 
     MINUTE(timestamp_field) AS MINUTE, 
     SECOND(timestamp_field) AS SECOND 
FROM some_table 

或者,如果你想这样做在PHP执行查询

$datetime = "1997-12-31 23:59:59"; 
$parsed = date_parse($datetime); 

哪会像

Array 
(
[year] => 1997 
[month] => 12 
[day] => 31 
[hour] => 23 
[minute] => 59 
[second] => 59 
[fraction] => 0.5 
[warning_count] => 0 
[warnings] => Array() 
[error_count] => 0 
[errors] => Array() 
[is_localtime] => 
) 
+0

干杯。它会与日期时间字段? – Hector

+0

是的,它应该工作 – Pankrates

+0

辉煌的先生。谢谢 – Hector

0

如何:

<?php 
$timestamp = 1359837241; 
$hour = date('H', $timestamp); 
$minute = date('i', $timestamp); 
$second = date('s', $timestamp); 
echo $hour . '<br>'; 
echo $minute . '<br>'; 
echo $second . '<br>'; 
?> 
0

随着打击代码,你可以转换日期时间为TIMESTAMP

$date = new DateTime("1897-04-21 22:55:19"); 
$TimeStamp=$date->getTimestamp(); 

,并与日期()功能可以拆分时间戳年,分钟,秒

echo date("H",$TimeStamp); 
. 
. 
. 

欲了解更多信息请参阅date()

0

如果我正确理解你的问题,那么应该这样做:

<?php 
    $timeStamp = '2012-10-23 13:35:20'; 
    $timeStampSplode = explode(' ', $timeStamp); 

    $head = $timeStampSplode[0]; 
    $tail = $timeStampSplode[1]; 

    $headSplode = explode('-', $head); 
    $tailSplode = explode(':', $tail); 

    $year = $headSplode[0]; 
    $month = $headSplode[1]; 
    $date = $headSplode[2]; 

    $hour = $tailSplode[0]; 
    $minute = $tailSplode[1]; 
    $second = $tailSplode[2]; 

    echo "Year: ". $year. "<br />"; 
    echo "month: ". $month. "<br />"; 
    echo "date: ". $date. "<br />"; 
    echo "hour: ". $hour. "<br />"; 
    echo "minute: ". $minute. "<br />"; 
    echo "second: ". $second. "<br />"; 
?> 

使用$ timeStamp作为从数据库中获取的值是没有问题的。