Jump to content
Fórum Script Brasil
  • 0

Sistema de comércio aberto ou fechado


jpcarpanezi
 Share

Question

<?php
        // CORREÇÃO DE DATA
            date_default_timezone_set('America/Sao_Paulo');

                $hora = date("w:H:m");
                $abre = "07:00";
                $fecha = "21:00";
                if($hora > $abre && $hora < $fecha and $date = '1, 2, 3, 4, 5') {
            echo '<font color="white">Clínica atualmente:</font> <font color="green"><b>Aberta</b></font>';
            } else {
            echo '<font color="white">Clínica atualmente:</font> <font color="red"><b>Fechada</b></font>';
        }
    ?>

Boas a todos, acima eu tenho meu sistema que indica se meu comércio está atualmente aberto ou fechado, entretanto, aos sábados o horário de fechamento é diferente dos dias de semana então adicionei o "w" no date(); e coloquei $date = '1, 2, 3, 4, 5' para sinalizar que quando as datas for Segunda a Sexta aberto, else clínica fechada, mas agora ele sempre da a clínica como fechada o que eu posso fazer para resolver?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

<?php

// definição da região do horário/data
date_default_timezone_set('America/Sao_Paulo');

// tratar a hora:
$hora = date('H:i:s'); // H = hora, i = minutos, s = segundos
$abre = '07:00:00';   // só use aspas duplas quando tiver uma variável dentro
$fecha = '21:00:00';

//tratar a data:
$hoje = strtotime(date('Y-m-j'));  // Y = ano, m = mês, j = dia
$diaDaSemana = date('w', $hoje); // w = 0 (para domingo) até 6 (para sábado)

if (in_array($diaDaSemana, [1, 2, 3, 4, 5])) {  // se dia da semana for igual a 1, 2, 3, 4 ou 5
    if ($hora > $abre && $hora < $fecha) {
        echo '<span class="white">Clínica atualmente:</span> <span class="green">Aberta</span>';
    } else {
        echo '<span class="white">Clínica atualmente:</span> <span class="red">Fechada</span>';
    }
} else { // se estiver fora do intervalo entre segunda e sexta:
    echo '<p class="warning">Abriremos na segunda-feira às 7h</p>';
}

Link to comment
Share on other sites

  • 0
1 hora atrás, lowys disse:

<?php

// definição da região do horário/data
date_default_timezone_set('America/Sao_Paulo');

// tratar a hora:
$hora = date('H:i:s'); // H = hora, i = minutos, s = segundos
$abre = '07:00:00';   // só use aspas duplas quando tiver uma variável dentro
$fecha = '21:00:00';

//tratar a data:
$hoje = strtotime(date('Y-m-j'));  // Y = ano, m = mês, j = dia
$diaDaSemana = date('w', $hoje); // w = 0 (para domingo) até 6 (para sábado)

if (in_array($diaDaSemana, [1, 2, 3, 4, 5])) {  // se dia da semana for igual a 1, 2, 3, 4 ou 5
    if ($hora > $abre && $hora < $fecha) {
        echo '<span class="white">Clínica atualmente:</span> <span class="green">Aberta</span>';
    } else {
        echo '<span class="white">Clínica atualmente:</span> <span class="red">Fechada</span>';
    }
} else { // se estiver fora do intervalo entre segunda e sexta:
    echo '<p class="warning">Abriremos na segunda-feira às 7h</p>';
}

Então cara mais assim, eu quero citar que ele não abre de domingo como você construiu, entretanto de sábado não fecha as 21 mais sim ao meio dia, como eu posso fazer para implementar, baseado nesse sistema que você criou que eu achei interessante!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...