2011-01-18 39 views
4

我想知道是否有一個函數在PHP中生成數據/時間格式,如在mysql:0000-00-00 00:00:00。 我知道你可以使用CURDATE()在sql查詢中生成數據/時間,但我想知道是否可以使用php以相同格式的mysql數據時間格式生成它。php生成日期/時間格式相同出現mysql datatime

+0

date()函數採用格式字符串和時間戳,並會做喲你想。 http://us.php.net/manual/en/function.date.php – jasonbar

+0

[將美國日期格式轉換爲ANSI SQL日期格式(YYYY-mm-dd)](http://stackoverflow.com/問題/ 354838/convert-us-date-format-to-ansi -sql-date-format -yyyy-mm-dd) – jasonbar

回答

4

當然是!試一試date('Y-m-d H:i:s')

+2

關閉,但是:Ymd H:i:s – jasonbar

0

目前PHP只支持RFC 2822和ISO 8601符合日期以及Unix紀元時間戳。查看更多here

原因可能是它們包含時區偏移量,而「mysql表單」 - 它是一種本地化的compbound格式 - does not,這往往會導致在與應用程序服務器一起使用時出現混亂。

但是,您可以根據自己的喜好定義自己的格式,所有組件都可以通過日期時間功能獲得。隨便看看herehere

例子:

$mysql_date = date('Y-m-d H:i:s', $unix_timestamp); 

但如果你無法在64位系統上要注意的Y2k38 bug的,你可能想使用datetime

0

這應該轉換標準格式:

$format = 'DATETIME'; 

$format = str_replace(
    array('DATETIME', 'DATE', 'TIME', 'YEAR'), 
    array('DATE TIME', 'Y-m-d', 'H:i:s', 'Y'), 
$format); 

echo date($format, time());