Par exemple, j'ai un temps dans ce format:
eg.
09:15 AM
04:25 PM
11:25 AM
Comment puis-je le convertir en:
09:15
16:25
23:25
Actuellement, mon code est:
$format_time = str_replace(" AM", "", $time, $count);
if ($count === 0){
$format_time = strstr($time, ' PM', true);
$format_time = ......
}
Cependant, il semble qu'il existe un moyen plus simple et plus élégant de le faire?
$time = '23:45';
echo date('g:i a', strtotime($time));
Comment puis-je adapter l'échantillon ci-dessus dans mon cas? Merci.
Essayez avec ça
echo date("G:i", strtotime($time));
ou vous pouvez essayer comme ça aussi
echo date("H:i", strtotime("04:25 PM"));
Si vous utilisez un format de date/heure, voir http://php.net/manual/en/datetime.format.php
Tu peux le faire :
$date = new \DateTime();
echo date_format($date, 'Y-m-d H:i:s');
#output: 2012-03-24 17:45:12
echo date_format($date, 'G:ia');
#output: 05:45pm
Vous pouvez l'utiliser de 24 à 12 heures:
echo date("h:i", strtotime($time));
Et pour vice versa:
echo date("H:i", strtotime($time));
Solution PHP 5.3+.
$new_time = DateTime::createFromFormat('h:i A', '01:00 PM');
$time_24 = $new_time->format('H:i:s');
Sortie: 13:00:00
Fonctionne très bien avec les dates de formatage. Vérifier Ceci Répondre.
$Hour1 = "09:00 am";
$Hour = date("H:i", strtotime($Hour1));
Nous pouvons utiliser Carbon
$time = '09:15 PM';
$s=Carbon::parse($time);
echo $military_time =$s->format('G:i');
$time = '09:15 AM';
$chunks = explode(':', $time);
if (strpos( $time, 'AM') === false && $chunks[0] !== '12') {
$chunks[0] = $chunks[0] + 12;
} else if (strpos( $time, 'PM') === false && $chunks[0] == '12') {
$chunks[0] = '00';
}
echo preg_replace('/\s[A-Z]+/s', '', implode(':', $chunks));