Comment convertir la date et l’heure en timestamp Unix en PHP?

echo $_POST['time']."
"; echo $_POST['day']."
"; echo $_POST['year']."
"; echo $_POST['month']."
";

J’ai un magasin de valeur comme ça maintenant Je veux créer un horodatage à partir de ces valeurs. Comment faire cela en PHP? Merci d’avance

Vous pouvez utiliser mktime () . Selon le format de $_POST['time'] , vous le divisez en heure / min / sec puis utilisez

 $timestamp = mktime($hour, $min, $sec, $month, $day, $year) 
 echo mktime(0,0,0,$_POST['month'],$_POST['day'],$_POST['year']); 

Je ne sais pas dans quel format votre temps est, donc, vous devez probablement l’exploser () et ensuite mettre les valeurs dans les trois premiers parameters de mktime () comme:

 $_POST['time'] = '8:56'; $time = explode(':',$_POST['time']); echo mktime($time[0],$time[1],0,$_POST['month'],$_POST['day'],$_POST['year']); 

Utilisez un object DateTime . L’parsing est faite pour vous et vous pouvez contrôler les différences de fuseau horaire afin que l’heure d’été ne pose pas de problème.

 $datetimessortingng="{$_POST['year']}-{$_POST['month']}-{$_POST['day']} {$_POST['time]}"; $dt= date_create($datetimessortingng);//optional 2nd argument is TimeZone, so DST won't bite you echo $dt->format('U'); 

Une autre option est strtotime :

 $time = "{$_POST['time']} {$_POST['month']}/{$_POST['day']}/{$_POST['year']}"; $timestamp = strtotime($time); 

Si $_POST['time'] est déjà en heures et minutes (format HH:MM ), cela vous évite de l’exploser et de l’parsingr. strtotime peut parsingr un nombre vertigineux de chaînes dans les temps de validité.