天天看點

php now函數date,PHP中的NOW()函數

是否有一個PHP函數以與MySQL函數NOW()相同的格式傳回日期和時間?

我知道如何使用date()做到這一點,但是我問是否有一個僅用于此的函數。

例如,傳回:

2009-12-01 00:00:00

#1樓

使用此功能:

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');

}

#2樓

使用PHP版本> = 5.4 DateTime可以做到:

echo (new \DateTime())->format('Y-m-d H:i:s');

#3樓

我喜歡user1786647釋出的解決方案,并對其進行了一些更新,以将時區更改為函數參數,并添加了對傳遞Unix time或datetime字元串以用于傳回的時間戳的可選支援。

它還為運作低于PHP 5.3版本的使用者包括“ setTimestamp”的後備:

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");

}

#4樓

strftime("%F %T");

%F與%Y-%m-%d 。

%T與%H:%M:%S 。

這是有關ideone 的示範 。

#5樓

除了:

date("Y-m-d H:i:s");