2013-02-02 135 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作爲從數據庫中獲取的值是沒有問題的。