2011-05-05 190 views
4

所有,轉換Unix的時間戳小時

我有一個實際計算從測驗開始到當前時間時花費的時間數據庫字段。這是在某個時間點(記錄爲當前時間),現在我有一個Unixtimestamp值

即假設開始時間是5/5/2011 1pm和當前時間填充在5/5/2011 2pm。所以差異計算並存儲爲Unix時間戳。

現在我不知道這是什麼時候實際完成,現在我不得不恢復到參加測驗的時間。所以這裏的Unix時間戳需要轉換回小時,在這種情況下返回1小時。任何人都可以請幫我理解如何做到這一點?

+1

我不完全清楚。一個真正的時間戳將是自1970年1月1日以來的秒數。兩個時間戳之間的差異應該是秒數,而不是實際的時間戳。如果這就是你剛剛除以3600得到小時。 – Cfreak 2011-05-05 22:05:08

回答

8

你有秒,所以才這樣做

SELECT secondsField/3600 as 'hours' FROM tableName 
+0

這不是PHP,標記的類別是'PHP'。不會幫助未來的遊客 – 2014-02-25 06:38:32

+0

你低估了錯誤的人。這個問題並沒有提到或暗示PHP。該標籤是錯誤的,應該是「sql」。 – 2014-02-25 10:58:30

1

這裏找到天兩個時間戳之間的差異的一個例子。

//Get current timestamp. 
$current_time = time(); 

//Convert user's create time to timestamp. 
$create_time = strtotime('2011-09-01 22:12:55'); 

echo "Current Date \t".date('Y-m-d H:i:s', $current_time)."\n"; 
echo "Create Date \t".date('Y-m-d H:i:s', $create_time)."\n"; 

echo "Current Time \t ".$current_time." \n"; 
echo "Create Time \t ".$create_time." \n"; 

$time_diff = $current_time - $create_time; 
$day_diff = $time_diff/(3600 * 24); 

echo "Difference \t ".($day_diff)."\n"; 
echo "Quote Index \t ".intval(floor($day_diff))."\n"; 
echo "Func Calc \t ".get_passed_days($create_time)."\n"; 

function get_passed_days($create_time) 
{ 
    return intval(floor((time() - $create_time)/86400)); 
} 

要轉換爲小時,而不是86400把3600代替。

希望這會有所幫助。

+0

根據OP的問題&'標籤'這似乎是正確的答案 – AXL 2017-10-27 10:22:22