是否可以将日期时间字符串的时间部分拆分为小时、分钟和秒,以便每个字段都有一个数值?理想情况下从 mysql 数据库中检索。
我在网站上查看过,似乎有很多关于如何分割日期和时间部分的建议,但没有关于我的具体问题的建议。提前谢谢了。
PS 我将使用 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>';
?>
使用打击代码,您可以将 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 作为从数据库中获取的值是没有问题的。