2012-07-12 6 views
0

J'ai une tâche pour créer un script en utilisant php pour afficher ouvert et fermé aux bons moments. Jusqu'à présent, j'ai le temps de travailler correctement et ce serait bien si l'entreprise était ouverte pendant ce temps pendant 7 jours par semaine. Cependant le scenerio pour le projet est l'affaire est ouvert du lundi au vendredi de 7h00 à 17h30 puis ouvert le samedi de 7h00 à 13h00 et fermé le dimanche. Je pensais que je pouvais utiliser une fonction de la date w depuis est affiche 0-6 et appeler siPHP Date Ouvrir et fermer le script

if($date >= 0 && $date < 6) 

mais cela ne fonctionne pas. Voici le code que j'ai jusqu'à présent

<?php 

date_default_timezone_set('America/Chicago'); 
$open = "700"; 
$close = "1730"; 
$time = date('Gi'); 
$day = date('w'); 

if ($time >= $open && $time <= $close) { 
    echo "We are Open"; 
} else { 
    echo "We are closed"; 
} 

?> 
+1

Vous voulez probablement comparer des nombres, pas des chaînes. Par exemple, "200"> "1750" est vrai. – Will

Répondre

1

Si vous n'êtes pas en utilisant une base de données que vous pouvez chaque jour hardcode de la semaine dans un format facilement analysable:

$schedule[0] = "700-1730"; 
$schedule[1] = "700-1730"; 
$schedule[2] = "700-1730"; 
$schedule[3] = "700-1730"; 
$schedule[4] = "700-1730"; 

$schedule[5] = "700-1300"; 
$schedule[6] = "0"; 

$today = $schedule[date('w')]; 

list($open, $close) = explode('-', $schedule); 

$now = (int) date('Gi'); 

$state = 'Open'; 

if ($today[0] == 0 || $now < (int) $today[0] || $now > (int) $today[1]) { 
    $state = 'Closed'; 
} 

Juste écrit le code, ne pas tester encore.

Bonne chance!

0

Créer des objets DateTime pour les heures d'ouverture et de fermeture. Comparez ensuite l'heure actuelle en tant qu'objet DateTime avec ces heures. Vous pouvez ensuite utiliser des opérateurs de comparaison. Vous pouvez également vérifier le jour et l'inscrire dans une instruction if, elseif et else pour savoir si le jour est un jour de la semaine, un samedi ou un dimanche.

Questions connexes