Somando datas no php

Novo aqui no site? Talvez gostaria de assinar o
RSS feed do site?

Publicado em: 13/02/2008
Área: PHP
Visualizações: 3.210
Comentário(s): 2

imprimir envie por e-mail compartilhe
Olá caro leitor.

Hoje vou demonstrar como somar datas: adicionar dias, adicionar meses, adicionar anos, e mais. Está é uma dúvida de muitos desenvolvedores, até mesmo de desenvolvedores experientes.

Bom, utilizaremos basicamente 2 funções do php que são:

date()


Formata a data e a hora local.

Descrição da função date():
string date  ( string $format  [, int $ timestamp  ] );

Ex.:
echo date('d/m/Y'); //printa = 13/02/2008


mktime()


Obtém um timestamp Unix para uma data

Descrição da função mktime ():
int mktime  ([ int $hora  [, int $minuto  [, int $second  [, int $mes  [, int $dia  [, int $ano  [, int $is_dst  ]]]]]]] )


As duas funções acima demonstradas juntas podem encontrar datas no futuro ou no passado (a nossa mágica).

Exemplo:
//PARA DESCOBRIR QUAL DATA SERÁ DAQUI A 5 DIAS
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d')+5,date('Y'));

//PARA DESCOBRIR QUAL SERÁ O DIA AMANHÃ
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d')+1,date('Y'));

//PARA MÊS QUE VEM
echo date('d/m/Y',mktime(0,0,0,date('m') + 1,date('d'),date('Y'));

//PARA ANO QUE VEM
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d'),date('Y') + 1);


Explicação do código:
chamamos a função date() passando 2 parâmetros, um string e outro int.
o string (primeiro parâmetro) é o formato que queremos que seja o resultado mostrado na tela, no caso 'd/m/Y' que resultaria em: 13/02/2008 por exemplo.

o int (segundo parâmetro) passamos a função mktime() que retorna um int, nesta devemos, passar os parâmetros de hora, minuto, segundo, mes, dia, ano, e se somar-mos algo por exemplo dia + 7 teremos o dia que será semana que vem ;)

Com isto você pode fazer muitas coisas. Como por exemplo saber que dia foi ano passado, mes passado, ontem, entre muitos.

Bom pessoal se tiverem alguma dúvida postem abaixo...

veja mais
Preencha o formulário para comentar:
Nome:*

E-mail:* (não será exibido)

Site: (http://)

Comentário:*

Deseja receber os comentários no e-mail?

Anti-spam: (nova imagem)





Henrique Guedes

Publicado em: 08/03/2008 - 19:50

Ola nicolas Muto bom seu artigo meu velho e aqui esta minha contribuicao com o script que me fez perde a cabeça eu tava pensando em publicar algo sobre data afinal vc ja cumpriu a missão eu ralei muito com data e prazo nesse periodo salve strtotime heheheh Que e a pega a diferencia entre duas datas usando php ,tenho certeza que geral perde os csbelos com isso ?:D echo abs(((strtotime("1-12-2007") - strtotime("1-12-2008")) / 86400)); um abraço irmao

 

Vinicius de Oliveira

Publicado em: 26/11/2008 - 08:45

Achei um problema somando os meses... Quando a data é 31/01/2009 e você soma um mês ele retorna 03/03/2009

 

Autor da matéria
Nícolas Müller
Sou um profissional da área de internet, trabalho como programador, designer e desenvolvedor de sites, faz cerca de 8 anos que estou atuando na área , sendo 5 .

Todas as matérias de Nícolas Müller

Publicidade
Seguir o Oficina da Net
RSS

RSS

RSS
Top matérias do mês
Matérias relacionadas
Tags
» php

© 2005 - 2009 - Oficina da Net - v 4.0 - É proibida a reprodução parcial ou completa do conteúdo deste site sem autorização por escrito. Resolução adequada: 1024x768px.