2017-10-21 19 views
0

J'ai besoin d'aide avec mon code car je ne suis pas très bon avec cette chose que je suis nouveau à ce sujet. Je veux vérifier les chaînes pour voir si le temps1 et le temps2 sont entre PM et AM alors faites quelque chose.Comment vérifier AM et PM dans les chaînes

$time_1 = $show_array[0][datetime]; 
$time_2 = $show_array[1][datetime]; 

Voici les résultats pour les chaînes de TIME2 et time1:

10:00 PM 
3:00 AM 

Pouvez-vous me montrer un exemple comment je peux vérifier si le time1 et time2 ont les cordes PM et AM?

+0

la question est "pourquoi"? une raison spéciale? Il pourrait y avoir une méthode plus simple que d'avoir à appliquer une forme de filtre. –

+0

qu'est-ce que vous devez savoir pour ?? –

+1

Je sens un peu d'hostilité ici. J'ai posté un commentaire simple, je n'étais pas impoli et je n'ai rien dit d'autre pour que je mérite un commentaire comme le tien. –

Répondre

0

Utilisation preg_match:

preg_match('/am$/i', $time); // returns 'true' if ends with 'am' OR 'AM' 
preg_match('/pm$/i', $time); // returns 'true' if ends with 'pm' OR 'PM' 

En utilisant strtotime:

$a = strtotime('10:00 PM'); 
$b = strtotime('3:00 AM'); 
$noon = strtotime('12:00 PM'); 

var_dump($a < $noon, $b < $noon); // false, true 

En utilisant DateTime:

$date = DateTime::createFromFormat('h:i a', '10:00 AM'); 
var_dump($date->format('G') < 12); // true