2012-06-11 37 views
0

如果我使用PHP的Time()函數,並且在MySQL中有4個字段DATE,DATETIME,TIMESTAMP和TIME,我應該使用哪一個?PHP time()函數和MySQL字段

在PHP中,我使用Time()來記錄日期和時間(如2012年5月10日),並且該時間用於計算已用時間。

+3

'time()'返回一個整數,所以如果你不打算在mysql中使用任何日期/時間函數(不使用'FROM_UNIXTIME()'),你可以簡單地使用一個有符號的整數字段。 –

+1

可能還想閱讀以下內容:http://stackoverflow.com/questions/977967/mysql-date-or-php-time – GDP

回答

1

使用你所需要的:

日期: 只存儲天前:2012-06-11

DATETIME: 店天時間前:2012-06-11 12點49分31秒

TIMESTAMP: 存儲日期和時間例如:2012-06-11 12:49:31 MySQL具有將該字段設置爲當前時間戳的功能,此時該行中有更新。 也許(現在不知道)可以用數字指定。其他必須指定 'YYYY-MM-d HH:MM:SS'

到DB值轉換爲PHP的使用時間的strtotime()

1

我會建議你使用MySQL Data And Time功能來代替。如果您需要存儲當前時間,請使用NOW()。這是DATETIME類型。或者,您可以使用Unix Timestamp將其存儲爲INT。

1

Unix時間戳是時間/日期的最基本形式 - 「原始格式」,如果您願意的話。一旦你有時間戳,你可以得到任何你想要的其他格式。就我個人而言,我沒有看到存儲DATE或DATETIME的意義,只是在您再次檢索數據時將其轉換爲時間戳,當然,如果要以任何可讀格式顯示日期/時間,您當然需要這樣做見函數date())。

MySQL在創建記錄時有一個存儲當前時間戳的字段時間。另外,如果你想要更多的靈活性,PHP的time()函數返回當前的時間戳。 PHP還具有計算特定時間點的時間戳的功能(例如,如果您想以dd/mm/yyyy格式指定日期)。

總之,我總是會使用時間戳,而且我建議您也這樣做,除非您有非常特殊的需求。