Ir para conteúdo
Fórum Script Brasil
  • 0

VErificar fim de semana


Pauliane

Pergunta

Ola pessoal! Sou nova aqui e não desenvolvo em PHP. Mas na empresa tem um sistema feito em php que a muito não é feito manutenção. O Cliente solicitou que fosse verificado quando o cliente inserir uma data, verificar se a data é um fim de semana, sábado ou domingo e não permitir que o evento seja cadastrado.

Tentei algo do tipo..

if (("N", mktime(0, 0, 0, substr($vDtInicio,3,2), substr($vDtInicio,0,2), substr($vDtInicio,6,4)) = 6) or

(("N", mktime(0, 0, 0, substr($vDtInicio,3,2), substr($vDtInicio,0,2), substr($vDtInicio,6,4)) = 7){

mensagem("Data inválida! Não pode ser fim de semana!");

}

Onde $vDtInicio é a minha várial que recebe a data sujerida pelo cliente.

Parece ser bem simples.. Gostaria de algumas dicas de como resolver este probleminha..

Desde já adianto agradecimentos..

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Já fiz algo parecido, não vou ter o código aqui pra te enviar, mas com poucas linhas você resolve.

// usando o manual...

http://br2.php.net/strftime

http://br.php.net/manual/pt_BR/function.mktime.php

1. retorne o primeiro dia da semana

/**
   *
   *  Gets the first weekday of that month and year
   *
   *  @param  int   The day of the week (0 = sunday, 1 = monday ... , 6 = saturday)
   *  @param  int   The month (if false use the current month)
   *  @param  int   The year (if false use the current year)
   *
   *  @return int   The timestamp of the first day of that month
   *
   **/ 
  function get_first_day($day_number=1, $month=false, $year=false)
  {
    $month  = ($month === false) ? strftime("%m"): $month;
    $year   = ($year === false) ? strftime("%Y"): $year;
   
    $first_day = 1 + ((7+$day_number - strftime("%w", mktime(0,0,0,$month, 1, $year)))%7);

    return mktime(0,0,0,$month, $first_day, $year);
  }

// this will output the first wednesday of january 2007 (wed 03-01-2007)
echo strftime("%a %d-%m-%Y", get_first_day(1, 2, 2008));
2. A função de cima retorna a data do primeiro dia da semana, logicamente o primeiro dia + 5 cai no fds, então:
$ex = $retorno + 5; $ex2 = $retorno + 6;  if($dia_selecionado == $ex OR $dia_selecionado == $e2){ echo "dia invalido!"; }

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...