web-dev-qa-db-fra.com

Comment convertir le temps MySQL en horodatage UNIX avec PHP?

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?

65
daGrevis

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

124
UltraInstinct

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);
51
Sarfraz

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"]))
{...}
9
Florian Mertens
$time_PHP = strtotime( $datetime_SQL );
6
psycho brm

Légèrement abrégé pourrait être ...

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

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.

1
Kai Noack