Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

icarof

Duvidas com a função strtotime

Recommended Posts

Bom dia galera

Estou trabalhando em um sistema que envolve calculo de datas, e uso a função strtotime, só que não li a documentação toda, esses dias vi que ela trabalha com o padrão americano de datas mm-dd-yyyy, so que fiz tudo usando o padrão dd-mm-yyyy, o mais louco é que os cálculos batem, ai vem duvida, será algum erro no sistema ou algo parecido ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use a biblioteca Date\Time.

Pode ver algumas coisas no link abaixo:

http://forum.imasters.com.br/topic/485867-contar-tempo-passado-com-php/

http://forum.imasters.com.br/topic/487944-validar-data-com-php/

http://forum.imasters.com.br/topic/537952-adicionar-1-dia-a-variavel/

http://forum.imasters.com.br/topic/525533-classe-php/

Do último link eu cheguei a continuar e desenvolver além do que existe no tópico (questões de calendário, feriados, recessos, etcs). Entretanto, não está totalmente concluída, mas é funcional:

https://bitbucket.org/harbingerproject/database

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ser a time zone, to usando essa

date_default_timezone_set('America/Sao_Paulo');

por causa da hora

Compartilhar este post


Link para o post
Compartilhar em outros sites

A definição de timezone te dará somente algumas alterações sobre a localização, não mudará o funcionamento das funções.

Por exemplo, se for imprimir o nome do mês ou o dia da semana, será em português ao invés de inglês. O horário também será ajustado para o fuso horário demarcado. Por exemplo, o servidor está com fuso horário zero (meridiano de greenwich) e você ajusta no código para -3 (Horário de Brasília). O horário que as funções de data retornarem será baseado no fuso horário -3.

Os formatos que são aceitos pela função estão aqui: http://php.net/manual/en/datetime.formats.php

Entretanto, a biblioteca Date\Time é bem mais completa. Ela lhe fornece tudo que você precisa para trabalhar com datas/horas sem precisar ficar fazendo conversões.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, cara realmente me ajudo bastante a entender o funcionamento de datas no php, so que eu é que interpretei meu código errado, quando se usa o strtotime ele usa o padrão americano, acontece que que quando eu uso a função date, e estava mudando o formato.

$hoje = strtotime("now");
date('d-m-Y', $hoje);

ai da basicamente na mesma, agora me diz uma coisa, pode parecer ignorancia, mas poderia guarda a data no no formato do strtotime no BD?

Compartilhar este post


Link para o post
Compartilhar em outros sites

strtotime retorna um int, que é a quantidade de segundos desde 1º de Janeiro de 1970. Os SGBDs possuem padrões próprios para datas/horas (Date, DateTime, TimeStamp, etc...). Utilize o que o SGBD fornecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.