在PHP中NOW()函数
是否有一个PHP函数返回与MySQL函数NOW()
相同格式的date和时间?
我知道如何使用date()
,但我问是否有一个function只为此。
例如要返回:
2009-12-01 00:00:00
除date("Ymd H:i:s")
外date("Ymd H:i:s")
date('Ymd H:i:s')
在这里寻找更多的细节: http : //pl.php.net/manual/en/function.date.php
用PHP版本> = 5.4 DateTime可以这样做: –
echo (new \DateTime())->format('Ymd H:i:s');
看到它工作 。
使用这个function:
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'); }
试试这个: date("Ymd H:i:s");
我正在寻找相同的答案,并且为PHP 5.3或更高版本提出了这个解决scheme:
$dtz = new DateTimeZone("Europe/Madrid"); //Your timezone $now = new DateTime(date("Ymd"), $dtz); echo $now->format("Ymd H:i:s");
使用strftime
:
strftime("%F %T");
-
%F
与%Y-%m-%d
。 -
%T
与%H:%M:%S
相同%H:%M:%S
。
这是一个关于ideone 的演示 。
MySQL函数NOW()
返回当前时间戳。 我发现PHP的唯一方法是使用下面的代码。
$curr_timestamp = date('Ymd H:i:s');
我想给答案列表添加一个答案。 你可以使用date_create()
,它创build一个dateTime对象。 函数date_create()
支持在其参数中使用相对格式,这使得代码可读。 然后你可以通过调用format()
方法返回你的date。
适用于PHP 5.2及更高版本
码:
$dateTime = date_create('now')->format('Ymd H:i:s');
如果我必须填充数组,我使用这个方法来处理我的项目。 喜欢这个:
$array = array( 'name' => 'John', 'date_time' => date_create('now')->format('Ymd H:i:s') );
我发现更多的答案易于使用:
$mysqlDateTime = date('c'); echo $mysqlDateTime; //2015-07-27T00:00:00+02:00
这是MySQL使用的ISO 8601date(在PHP 5中添加)
我喜欢user1786647发布的解决scheme,我已经更新了一点,将时区更改为函数参数,并添加了可选的支持,以传递Unix时间或date时间string用于返回的date戳。
还包括运行版本低于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("Ymd H:i:s"); }
你可以使用simplePHP类来做到这一点:
echo $date->now();
这个类还提供了许多有用的方法来进行date加法,减法和比较。 您可以查看教程页面以获取更多示例。