是否可以将日期时间字符串的时间部分拆分为小时、分钟和秒,以便每个字段都有一个数值?理想情况下是从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代码,您可以将DateTime转换为TimeStamp
$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作为从数据库中提取的值是没有问题的。