Php 如何分割日期时间戳的时间成分?

Php 如何分割日期时间戳的时间成分?,php,mysql,datetime,Php,Mysql,Datetime,是否可以将datetime字符串的时间部分拆分为小时、分钟和秒,以便每个字段都有一个数值?最好是从mysql数据库检索 我在网站上四处查看,似乎有很多关于如何划分日期和时间部分的建议,但没有关于我的具体问题。非常感谢 p.S我将使用PHP从mysql数据库中选择日期时间。如果您想直接在sql中执行此操作: SELECT HOUR( timestamp_field ) AS HOUR, MINUTE( timestamp_field ) AS MINUTE, SEC

是否可以将datetime字符串的时间部分拆分为小时、分钟和秒,以便每个字段都有一个数值?最好是从mysql数据库检索

我在网站上四处查看,似乎有很多关于如何划分日期和时间部分的建议,但没有关于我的具体问题。非常感谢


p.S我将使用PHP从mysql数据库中选择日期时间。

如果您想直接在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] => 
)
那么:

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

使用blow代码,您可以将日期时间转换为时间戳

$date = new DateTime("1897-04-21 22:55:19");
$TimeStamp=$date->getTimestamp();  
使用date()函数,您可以将时间戳拆分为年、分、秒

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

有关更多信息,请参见

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

<?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作为从数据库获取的值没有问题。

是的,这是可能的。现在告诉我们你试过什么?还没试过。我不知道该怎么做。