Є багато запитань, які задають "позначку часу UNIX у часі MySQL". Мені потрібен був зворотний шлях, так ... Будь-яка ідея?
Відповіді:
Використання 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
Ви можете UNIX_TIMESTAMP
виконати функцію mysql безпосередньо з вашого запиту, ось приклад:
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
Аналогічним чином ви можете передати в поле дата / дата і час:
SELECT UNIX_TIMESTAMP(yourField);
З одного з моїх інших постів, отримуючи універсальний штамп:
$unixTimestamp = time();
Перетворення у формат дати та часу mysql:
$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
Отримання мітки часу MySQL:
$mysqlTimestamp = '2013-01-10 12:13:37';
Перетворення його в одноразовий штамп:
$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"]))
{...}
$time_PHP = strtotime( $datetime_SQL );
Замість strtotime
вас слід використовувати DateTime
з PHP. Ви також можете розглянути часовий пояс таким чином:
$dt = DateTime::createFromFormat('Y-m-d H:i:s', $mysqltime, new DateTimeZone('Europe/Berlin'));
$unix_timestamp = $dt->getTimestamp();
$mysqltime
має тип MySQL Datetime, наприклад 2018-02-26 07:53:00
.
Трохи скорочено може бути ...
echo date("Y-m-d H:i:s", strtotime($mysqltime));