Как преобразовать время MySQL в метку времени UNIX, используя PHP? - PullRequest
70 голосов
/ 02 января 2011

Существует множество вопросов о метке времени UNIX для времени MySQL.Мне нужен был обратный путь, да ... Есть идеи?

Ответы [ 6 ]

130 голосов
/ 02 января 2011

Использование strtotime(..):

$timestamp = strtotime($mysqltime);
echo date("Y-m-d H:i:s", $timestamp);

Также проверьте это (чтобы сделать это способом MySQL.)

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

51 голосов
/ 02 января 2011

Вы можете использовать mysql UNIX_TIMESTAMP непосредственно из вашего запроса, вот пример:

SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');

Аналогично, вы можете передать в поле даты / даты / времени:

SELECT UNIX_TIMESTAMP(yourField);
9 голосов
/ 10 января 2013

Из одного из моих других сообщений, получая метку unixtime:

$unixTimestamp = time();

Преобразование в формат даты / времени mysql:

$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);

Получение некоторой метки времени mysql:

$mysqlTimestamp = '2013-01-10 12:13:37';

Преобразование в метку unixtime:

$unixTimestamp = strtotime('2010-05-17 19:13:37');

... сравнение с одним или диапазоном времени, чтобы увидеть, если пользователь ввел реалистичное время:

if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}

Unixвременные метки тоже безопаснее.Вы можете сделать следующее, чтобы проверить, является ли переданная переменная url действительной, перед проверкой (например) предыдущей проверки диапазона:

if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
6 голосов
/ 09 ноября 2012
$time_PHP = strtotime( $datetime_SQL );
1 голос
/ 26 февраля 2018

Вместо strtotime вы должны использовать DateTime с PHP. Вы также можете рассматривать часовой пояс следующим образом:

$dt = DateTime::createFromFormat('Y-m-d H:i:s', $mysqltime, new DateTimeZone('Europe/Berlin'));
$unix_timestamp = $dt->getTimestamp();

$mysqltime имеет тип MySQL Datetime, e. г. 2018-02-26 07:53:00.

1 голос
/ 18 июля 2014

Немного сокращенно может быть ...

echo date("Y-m-d H:i:s", strtotime($mysqltime));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...