是否有一個PHP函數以與MySQL函數NOW()
相同的格式返回日期和時間? ide
我知道如何使用date()
作到這一點,可是我問是否有一個僅用於此的函數。 函數
例如,返回: spa
2009-12-01 00:00:00
使用此功能: code
function getDatetimeNow() { $tz_object = new DateTimeZone('Brazil/East'); //date_default_timezone_set('Brazil/East'); $datetime = new DateTime(); $datetime->setTimezone($tz_object); return $datetime->format('Y\-m\-d\ h:i:s'); }
使用PHP版本> = 5.4 DateTime能夠作到: orm
echo (new \DateTime())->format('Y-m-d H:i:s');
看到它工做 。 字符串
我喜歡user1786647發佈的解決方案,並對其進行了一些更新,以將時區更改成函數參數,並添加了對傳遞Unix time或datetime字符串以用於返回的時間戳的可選支持。 get
它還爲運行低於PHP 5.3版本的用戶包括「 setTimestamp」的後備: string
function DateStamp($strDateTime = null, $strTimeZone = "Europe/London") { $objTimeZone = new DateTimeZone($strTimeZone); $objDateTime = new DateTime(); $objDateTime->setTimezone($objTimeZone); if (!empty($strDateTime)) { $fltUnixTime = (is_string($strDateTime)) ? strtotime($strDateTime) : $strDateTime; if (method_exists($objDateTime, "setTimestamp")) { $objDateTime->setTimestamp($fltUnixTime); } else { $arrDate = getdate($fltUnixTime); $objDateTime->setDate($arrDate['year'], $arrDate['mon'], $arrDate['mday']); $objDateTime->setTime($arrDate['hours'], $arrDate['minutes'], $arrDate['seconds']); } } return $objDateTime->format("Y-m-d H:i:s"); }
使用strftime
: io
strftime("%F %T");
%F
與%Y-%m-%d
。 ast
%T
與%H:%M:%S
。
這是有關ideone 的演示 。
除了:
date("Y-m-d H:i:s");