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

problemas com date pt-br e us


SCIENTIST

Pergunta

Bom, já li vários tópicos que a melhor forma de se trabalhar com data em php é salvar a mesma com o formato Y-m-d que é o formato US, e mostrar ao usuário no formato m-d-Y. Porém eu trabalho com o padrão DAO para desenvolver meu Website e no POJO do meu objeto estou tentando fazer isso:

<?php

  class PojoReserva{
      
      private $pessoa;
      private $produto;
      private $quantidade;
      private $data_reserva;
      private $situacao;
      private $data_max_retirada;
      
      public function getPessoa() {
          return $this->pessoa;
      }

      public function setPessoa(PojoPessoa $pessoa) {
          $this->pessoa = $pessoa;
      }

      public function getProduto() {
          return $this->produto;
      }

      public function setProduto(PojoProduto $produto) {
          $this->produto = $produto;
      }

      public function getQuantidade() {
          return $this->quantidade;
      }

      public function setQuantidade($quantidade) {
          $this->quantidade = $quantidade;
      }

      public function getData_reserva() {
          return date('d/m/Y',strtotime($this->data_reserva));
      }

      public function setData_reserva($data_reserva) {
          $this->data_reserva = date('Y-m-d',strtotime($data_reserva));
      }

      public function getSituacao() {
          return $this->situacao;
      }

      public function setSituacao($situacao) {
          $this->situacao = $situacao;
      }

      public function getData_max_retirada() {
          return date('d/m/Y',strtotime($this->data_max_retirada));
      }

      public function setData_max_retirada($data_max_retirada) {
          $this->data_max_retirada = date('Y-m-d',strtotime($data_max_retirada));
      }


      
  }

?>

Explicando: no Get eu retorno para o usuário a data com o formato pt-br , e no Set eu coloco o formato US.

O problema é que no Set que tento converter de pt-br para US não converte, fica uma data tipo assim: 1969-2-19. Só funciona converter de US para PT-BR.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu sempre trabalhei com timestamps quando foi necessário mexer com medidas de tempo.

Basta fornecer um timestamp para a função date(), que você pode escolher o formato que a função retorna a data...

Exemplo:

echo date('d-m-Y', 1234567890);

Procure á respeito, talvez seja a melhor opção.

Também dá pra dar 'explodes' para separar os números e formar uma nova string para ser retornada, desta ver na ordem desejada.

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...