2011-08-25 88 views
0

我的數據庫中有一個類型爲timestamp的變量。它的默認值是「CURRENT_TIMESTAMP」,這是一個很棒的功能。MySQL數據庫+時間戳/ PHP

但是,當我在模板中輸出變量時,它將被格式化爲實際日期。是PHP在這裏做一些奇特的事情還是數據庫中的日期仍然存儲爲時間戳?我需要對系統中某些功能的日期進行一些計算。

+0

CURRENT_TIMESTAMP店的實際日期和時間。 –

回答

3

您正在混淆MySQL TIMESTAMPs(YYYY-MM-DD HH:MM:SS)和Unix TIMESTAMPS(自紀元以來的秒數)。

SELECT UNIX_TIMESTAMP(timestamp_column_name) FROM ...應該給你想要的

MySQL Manual (UNIX_TIMESTAMP)

+0

是的,它做到了!這爲我節省了很多時間和麻煩。 –

1

當你第一次插入值,CURRENT_TIMESTAMP是在當下的解釋,並替換爲函數的值NOW()的內容。對於時間戳,mysql存儲一個4字節的整數,它表示自當前時區unix時代以來的秒數。你仍然可以使用日期和時間函數在mysql中進行計算(例如,返回其他格式等)。如果你有興趣,你可以用PHP中的這個值進行計算。

http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html#id624727

http://en.wikipedia.org/wiki/Unix_time

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

http://us.php.net/manual/es/ref.datetime.php