Jump to content
Fórum Script Brasil
  • 0

problemas com date pt-br e us


SCIENTIST

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

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



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...