Ir para conteúdo

POWERED BY:

Arquivado

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

ualex

trabalhando com datas no php

Recommended Posts

<?php// Autor : Alex F. da Silva// subtraindo e somando Datas/*primeiro vou explicar um pouco sobre as funções que usarei neste exemplo mktime : é uma função que retorna quantos segundos se passaram desde da meia-noite de 1970. este formato é conhecido como timestamp , sua sintaxe $valor= mktime($hora,$minuto,$segundo,$mes,$dia,$ano): date : é uma função para manipulção de datas sua sintaxe date('string_formato','timestamp')como string formato temos d,m,y,h,i,s um exemplo:echo date('d-m-Y h:i'); isto ira imprimir a data e hora atualfor é um laço de repetição*/// data e hora atualecho "Data e Hora : ".date('d-m-Y H:i')."<br>";$dia = 25 ; // pega o dia de natal$mes = 12 ; // pega o mes$ano = date('y'); // o ano$dia_atual = date('d'); // pega dia atual$mes_atual = date('m'); // pega o mes atual$ts = mktime($hora,$min,$seg,$mes - $mes_atual,$dia - $dia_atual,$ano);echo "Falta ".date('m',$ts)." meses"." e ".date('d',$ts)." dias"." para o natal"." , Boas Compras hohoho...";/*Bom isto foi a subtração. agora vamos imaginar que estamos construindo uma loja virtual e determinado produto ou serviço pode ser pago em três parcelas,ou seja, 30,60,90 dias e você precisa gerar os boletos com as repectivas datas, vamos ao trabalho. */$dia_da_compra = date('d');$mes_da_compra = date('m');$ano_da_compra = date('Y');$parcela = 30; // primeira parcela daqui a 30 diasecho "<br><br>";for ($cont = 1 ; $cont <= 3; $cont++) { $ts = mktime($hora,$min,$seg,$mes_da_compra,$dia_da_compra + $parcela,$ano); echo "Data de Pagamento da $cont ° parcela : ".date('d-m-Y',$ts)."<br>"; $parcela = $parcela + 30; } // bom espero que este exemplo seja util a alguem ! , e se você tiver alguma dica de como melhorar este exemplo, eu ficaria muito feliz se você compartilha-se conosco.?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gostei de seu tópico porque é uma dúvida constante neste fórum, outro exemplo é a instalação do apache no windows ou mysql, acho que deveriam existir estes tipos de tópicos sempre no início do fórum, igual aos que tem nos fóruns de Brainstorm e Photoshop se não me enganol.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, muito bom exemplo. Uma dúvida, ao salvar datas no banco Mysql, quero salvar a exata data e hora que o usuário está modificando aquele registro. posso usar esse mesmo formato?Estava usando um comando mysql "curtime()", mas as vezes me parece que ele está gravando errado, sai umas datas nada a ver!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) walace tambem acho deveria ter um lugar pro pessoal mandar links pra apostilas , pra downloads eu se alguem teve uma experiencia por exemplo com oracle é que compartilhar com comunidade ter um espaço pra ele postar suas ideias. pois quase toda semana se mandar alguem pro php.net 2)CoDcAbEçA, bom dai seu campo(na tabela mysql) tem de ser timestamp , ou seja, date e hora. o formato é padrão americano aaaa/mm/dd ao inves de dd/mm/aaaa. $data = date('Ydmhis'); // isto vai pegar a data e hora no formato EUA.dai é só inserir normalmente , da i pra visualizar la se pode usar uma função do mysql DATE_FORMAT ( o mysql tem um monte de função de data) a sintaxe é assim DATE_FORMAT(campo,'string') exemplo DATE_FORMAT(CampoData,'%Y-%m-%d %h:%i') , bom acho que deu uma clareada né. bom logo vou fazer um documento mas completo dai eu te passo.3)osvaldowolskipelo que eu entendi você que somar 10 meses a data atualse pode fazer deste jeito:<?php$ts= time(); // isto gera o timestamp atual$dia=date('d'); // pega o dia atual$mes=date('m'); // pega o mes$ano=date('Y'); // pega o ano$mes_a_somar=10; // total a somar// bom dai é só gerar um timestamp pra da dez meses no caso$ts_a_dez=mktime($hora,$minuto,$segundo,$mes + $mes_a_somar,$dia,$ano);echo date('d-m-Y',$ts_a_dez);?>bom é isso ai pessoal , logo vou disponibilizar um material sobre o tema

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.