Há uns dias atrás resolvi desenvolver um pequeno sistema em PHP+MySQL para controle de contas. E quando se fala em controle de contas é fundamental que o programa "te avise" das contas que estão vencidas ou vencem no dia. Aí veio a preocupação como farei isso no MySQL? Como tratarei as datas se o formato do MySQL é diferente do formato usado no Brasil?
Pesquisando um pouco descobri duas funções fantásticas do MySQL (4.1>): DATE_FORMAT() e SRT_TO_DATE().
A DATE_FORMAT() é para a saída (usando o select) e recebe os parametros
campo e formato. Se você tem um campo de data chamado dt_saida por exemplo,
para exibir a data no formato dd/mm/YYYY faça assim:
SELECT *, DATE_FORMAT(dt_saida,'%d/%m/%Y) as Saida FROM tabela;
Já a SRT_TO_DATE() é para a gravação (insert) e é bem simples também:
INSERT INTO Tabela (dt_saida) values (STR_TO_DATE('09/03/2007','%d/%m/%Y'));
Caso você queira trabalhar com os campos das datas separadamente use a função EXPLODE() do PHP. Ela fuciona assim:
$DataSeparada = EXPLODE("/",$Data);
Se a variável $Data tiver o formato dd/mm/YYYY a variável $DataSeparada fica com os seguintes valores:
$DataSeparada[0] = dd
$DataSeparada[1] = mm
$DataSeparada[2] = YYYY
Isso é muito útil para desenvolver scripts de validação de datas ou no meu caso usei para cadastrar parcelamentos de contas.
Prontinho, simples rápido e fácil.
9 comentários:
Parabéns! Você me ajudou muito!
Parabéns,
essa dica foi ótima, simples, rapido funcional e prático.
Há um monte de tutoriais por aí sobre isso, mas eles complicam mais que ajudam ;)
valeu.. ja vou usar aqui heheh ;)
obrigado
Nossa, bela explicação, estava precisando justamente disso... Perdi um tempão procurando esta informação....
Grande abraço
t+
Muito bom! Parabéns. Como foi dito, vapt vupt. Rápido, fácil e eficiente.
William Barbosa
O meu está retornandao erro sprintf() eu uso o Insert record do DW então acho que estou errando ao tentar adaptar.
Meu código está aqui me ajuda:
http://www.phpmania.org/modules.php?name=Forums&file=viewtopic&t=7830
Muito bom, mostrou como se faz sem ficar enchendo linguiça e complicando como a maioria dos outros tutoriais que achei!
absorbing activists graves yugal hurricane ecfr complements leipzig bureaucrats cast nagarjuna
semelokertes marchimundui
Isso que eu chamo de explicação, meus parabéns, me ajudou muito
mais claro que isso impossivel..valew mesmo !!
Postar um comentário