Convertir TIMESTAMP en temps unix en PHP?
actuellement je stocke l'heure dans ma base de données comme ceci:2010-05-17 19:13:37
cependant, j'ai besoin de comparer deux fois, et je pense que ce serait plus facile si c'était un timestamp unix comme 1274119041
. (Ces deux heures sont différentes)
alors comment pourrais-je convertir le timestamp en unix timestamp? Est-il une simple fonction php?
5 réponses
Obtention d'un unixtimestamp:
$unixTimestamp = time();
Conversion au format datetime de mysql:
$mysqlTimestamp = date("Y-m-d H:i:s", $unixTimestamp);
Obtention de certains timestamp mysql:
$mysqlTimestamp = '2013-01-10 12:13:37';
Convertir en un unixtimestamp:
$unixTimestamp = strtotime('2010-05-17 19:13:37');
...comparer avec un ou plusieurs temps, pour voir si l'Utilisateur a entré un temps réaliste:
if($unixTimestamp > strtotime("1999-12-15") && $unixTimestamp < strtotime("2025-12-15"))
{...}
les horodateurs Unix sont également plus sûrs. Vous pouvez faire ce qui suit pour vérifier si une variable url passée est valide, avant de vérifier (par exemple) gamme précédente vérifier:
if(ctype_digit($_GET["UpdateTimestamp"]))
{...}
si vous utilisez MySQL comme base de données, il peut renvoyer des champs de date comme horodatage unix avec UNIX_TIMESTAMP:
SELECT UNIX_TIMESTAMP(my_datetime_field)
vous pouvez aussi le faire du côté de PHP avec strtotime:
strtotime('2010-05-17 19:13:37');
si vous stockez l'heure dans la base de données, Pourquoi ne laissez-vous pas la base de données vous donner aussi l'horodatage unix de celui-ci? voir UNIX_TIMESTAMP(date)
, par exemple.
SELECT UNIX_TIMESTAMP(date) ...;