在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加法,减法和比较。 您可以查看教程页面以获取更多示例。