Il y a beaucoup de questions qui se posent à propos de 'horodatage UNIX en fonction du temps MySQL'. J'avais besoin de l'inverse, oui ... Une idée?
Utilisez strtotime(..)
:
$timestamp = strtotime($mysqltime);
echo date("Y-m-d H:i:s", $timestamp);
Vérifiez aussi ceci (pour le faire de manière MySQL.)
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp
Vous pouvez utiliser mysql UNIX_TIMESTAMP
directement à partir de votre requête, voici un exemple:
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
De même, vous pouvez passer dans le champ date/date/heure:
SELECT UNIX_TIMESTAMP(yourField);
De l'un de mes autres articles, obtenir un unixtimestamp:
$unixTimestamp = time();
Conversion au format date et heure mysql:
$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
Obtenir de l’horodatage mysql:
$mysqlTimestamp = '2013-01-10 12:13:37';
Conversion en unixtimestamp:
$unixTimestamp = strtotime('2010-05-17 19:13:37');
... en le comparant à une ou plusieurs fois, pour voir si l'utilisateur a entré une heure réaliste:
if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}
Les horodatages Unix sont également plus sûrs. Vous pouvez effectuer les opérations suivantes pour vérifier si une variable d’URL transmise est valide avant de vérifier (par exemple) la vérification de la plage précédente:
if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
$time_PHP = strtotime( $datetime_SQL );
Légèrement abrégé pourrait être ...
echo date("Y-m-d H:i:s", strtotime($mysqltime));
Au lieu de strtotime
, vous devriez utiliser DateTime
avec PHP. Vous pouvez également considérer le fuseau horaire de la manière suivante:
$dt = DateTime::createFromFormat('Y-m-d H:i:s', $mysqltime, new DateTimeZone('Europe/Berlin'));
$unix_timestamp = $dt->getTimestamp();
$mysqltime
est de type MySQL Datetime, e. g. 2018-02-26 07:53:00
.