Функция NOW () в PHP

Есть ли функция PHP, которая возвращает дату и время в том же формате, что и функция MySQL NOW() ?

Я знаю, как это сделать, используя date() , но я спрашиваю, есть ли функция только для этого.

Например, чтобы вернуть:

 2009-12-01 00:00:00 

Не кроме 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 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 или новее:

 $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

Вот демо на идеоне.

Функция MySQL NOW() возвращает текущую временную метку. Единственный способ, который я нашел для PHP, – использовать следующий код.

 $curr_timestamp = date('Ymd H:i:s'); 

Я хотел бы добавить один ответ в список ответов. Вы можете использовать date_create() , который создает объект dateTime. Функция date_create() поддерживает использование относительного формата в своем параметре, что делает считываемый код. Затем вы можете вернуть свою дату, вызвав метод format() .

Работает на 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 

Это дата ISO 8601 (добавлена ​​в PHP 5), которую использует MySQL

Мне нравится решение, отправленное пользователем1786647, я немного его обновил, чтобы изменить часовой пояс на аргумент функции и добавить дополнительную поддержку для передачи строки времени Unix или datetime для использования для возвращаемой даты.

Также включает откат для «setTimestamp» для пользователей с версией ниже PHP 5.3:

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

Этот класс также предоставляет множество полезных методов для сложения, вычитания и сравнения даты. Вы можете проверить страницу учебников для получения дополнительных примеров.