Jump to content


Photo

Timestamp Menor Que 1969


  • Faça o login para participar
5 replies to this topic

#1 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 29/05/2005, 11:55

Bom, no manual do PHP diz que você pode usar o -(negativo) para ir para datas abaixo de 1969, certo ?

mas como vou formar esses números negativos(eu uso o strtotime p/ formar as datas atuais, pego com um select, ele seleciona, mes, ano e dia, e uso uma função básico q monta o timestamp da data, ex:
$data = strtotime("$mes/$dia/$ano"); // sendo q $mes vem de form e talz...

mas o problema é realmente as datas abaixo desta data (1969), e uma vez que manipulação de datas é muito mais fácil com timestamp pretendo continuar usando esse esquema...

MANUAL DO PHP DIZ:

Nota: O intervalo válido de um timestamp é tipicamente de Fri, 13 Dec 1901 20:45:54 GMT até Tue, 19 Jan 2038 03:14:07 GMT. (Estas são datas que correspondem aos valores máximos e mínimos para um inteiro assinado de 32-bit.) Adicionalmente, nem todas as plataformas suportam timestamps negativos, então a faixa de sua data pode ser limitada antes de chegar na Era Unix. Isto significa que ex. datas antes de Jan 1, 1970 não trabalharão no Windows, nem em algumas distribuições do Linux, e num grupo de outros sistemas operacionais.


E como vou saber então se meu servidor suporta isso ? Tem algum pacote para eles instalarem e funcionar ?

#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 29/05/2005, 12:13

Essas datas estão no banco de dados MySQL ?
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 29/05/2005, 13:00

exatamente, guardadas no mysql...

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 29/05/2005, 13:09

Formata na query então:

DATE_FORMAT(campo_data, '%d/%m/%Y') data_formatada


Só colocar na query modificando ali aonde eu coloquei campo_data, e na hora que for imprimir o resultado, ao invés de imprimir um valor do campo_data você imprimi do data_formatada que é um alias para a formatação da data.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 brigman

brigman

    12 Horas

  • Usuários
  • 234 posts
  • Sexo:Não informado

Posted 29/05/2005, 13:37

mas justice, n sei q dia exatamente de 1969 ganha no timestamp o valor 0, ou seja, abaixo disto, ele começa a ficar negativo, algum dia de 1968 a data ficará algo como -312331

meu server n esta lendo essa informação negativa, aliás, qualquer data q eu formar usando strtotime p/ inserir no banco de dados(strtotime converte datas normais para timestamp) e for menor q 1969 ele ganha o valor -1, no manual, -1 = falso, nulo...

qria saber quais as especificações que o servidor deve ter p/ suportar essa "era unix", ja entrei em contato com o servidor e aguardo resposta

valeu msmo assim
abraço

#6 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 29/05/2005, 16:25

Opa ... ;)

Quanto à data exata do começo da "era Unix", é esta: Janeiro 1 1970 00:00:00 GMT ... (y)

Mas ... eu acho (ou tenho certeza ?! :blink:) que trabalhar com uma data menor que esta com timestamp não será possível ... :unsure:

[]’s :DAté mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq