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

(Resolvido) Data agora ficou maluca!


Rubiz Gardini

Pergunta

Olá gente!!

Fui testar a data cujo ESerra me ajudou neste post, e uma surpresa tremenda: no teste ela funcionou muito bem, quando fui colocar ela na situação real tive uma surpresa, a data 2008-03-09 saiu Sexta, 29 de Fevereiro 2008 huaHUAHUAhauahua!!!

É rir pra não chorar!!!! Agora porque raios ele faz isso????Vejam o código q uso é o código a seguir:

// FAZENDO DATA
$data_ = $_POST['data_bruta'];
$data_ = explode("-", $data_);
setlocale (LC_ALL, 'portuguese');
// Mostra: domingo, 09 de setembro 2007
$data_ =  strftime ("%A, %d de %B %Y", mktime (0, 0, 0, $data_[1], $data_[3], $data_[0]));

De onde raios ele tira esse dia, 29 de fevereiro????????

Fora q tive q colocar locale em portugues, acho lá em Portugal eles não usam o nosso "-feira"... tb precisaria ter!!!

Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Nem olhei o resto...

$data_[1], $data_[3], $data_[0]

A data só vai ter três índice (0,1,2), no outro posto eu até coloquei essa...no seu caso atual o correto seria:

$data_[1], $data_[2], $data_[0] (mês, dia, ano)

Link para o comentário
Compartilhar em outros sites

  • 0

Gente, como distração faz a gente perder tempo e pagar mico!!!

Me digam de onde tirei o '3'

$data_ =  strftime ("%A, %d de %B %Y", mktime (0, 0, 0, $data_[1], $data_[3], $data_[0]));
??????????? No fim o código ficou assim:
// FAZENDO DATA
            $data_ = $_POST['data_bruta'];
            $data_ = explode("-", $data_);
            setlocale (LC_ALL, "portuguese");
            // Mostra: domingo, 09 de setembro 2007
            
            //Segunda-FEIRA
            $weekDay = strftime ("%A", mktime (0, 0, 0, $data_[1], $data_[2], $data_[0]));
            $month = strtolower(strftime ("%B", mktime (0, 0, 0, $data_[1], $data_[2], $data_[0])));
            if ( $weekDay != 'Sábado' && $weekDay != 'Domingo' ) $weekDay = $weekDay . '-feira'; 
            
            $data_ =  $weekDay . strftime (", %d de " . $month . " %Y", mktime (0, 0, 0, $data_[1], $data_[2], $data_[0]));

============== editado=====================================================================

Obrigada Edgar!!!

Editado por Rubiz Gardini
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...