icarof 9 Denunciar post Postado Agosto 9, 2016 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
Gabriel Heming 766 Denunciar post Postado Agosto 9, 2016 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
icarof 9 Denunciar post Postado Agosto 9, 2016 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
Gabriel Heming 766 Denunciar post Postado Agosto 9, 2016 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
icarof 9 Denunciar post Postado Agosto 9, 2016 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
Gabriel Heming 766 Denunciar post Postado Agosto 9, 2016 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