[Resolvido] Somar Datas
#1
Posted 02/08/2010, 10:15
Preciso somar os dias de uma data... por exemplo...
Tenho uma data 02/08/2010 e preciso soma-la + 6 e guardar os valores dos dias......
Preciso que seje printado 03,04,05,06,07,08
Como faço isso?
Obrigado
#2
Posted 02/08/2010, 11:01
Você pode fazer o seguinte:
<?php // separa a data pela / em um array $data = explode("/", 02/08/2010); $i = 1; while ($i < 7) : //pega o valor referente ao dia e soma com o $i do looping $array[] = $data[0]+$i; $i++; endwhile; //exibe os dados no array print_r ($array); ?>
Acho que é isso.
Abraço
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#3
Posted 02/08/2010, 13:18
Bom dia Chaparro,
Você pode fazer o seguinte:<?php // separa a data pela / em um array $data = explode("/", 02/08/2010); $i = 1; while ($i < 7) : //pega o valor referente ao dia e soma com o $i do looping $array[] = $data[0]+$i; $i++; endwhile; //exibe os dados no array print_r ($array); ?>
Acho que é isso.
Abraço
Até ai beleza... Ele printa assim Array ( [0] => 3 [1] => 4 [2] => 5 [3] => 6 [4] => 7 [5] => 8 )
Teria como printar 030405060708?? pode ser tudo junto sem separação?
#4
Posted 02/08/2010, 13:34
Pode fazer desta meneira:
<?php // separa a data pela / em um array $data = explode("/", 02/08/2010); $i = 1; while ($i < 7) : //pega o valor referente ao dia e soma com o $i do looping $tudoJunto .= "0".$data[0]+$i; // utilizando .= é sempre adicionado o valor para variável. $i++; endwhile; //exibe os dados no array echo $tudoJunto; ?>
Vê se é isso mesmo, abraço.
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#5
Posted 02/08/2010, 14:29
<?php // separa a data pela / em um array $data = explode('/', date("d/m/Y")); $i = 1; while ($i < 7) { //pega o valor referente ao dia e soma com o $i do looping $tudoJunto .= "0".$data[0]+$i; // utilizando .= é sempre adicionado o valor para variável. $i++; } //exibe os dados no array echo $tudoJunto; ?>
#6
Posted 02/08/2010, 14:47
<?php // separa a data pela / em um array $data = explode('/', date("d/m/Y")); $i = 1; while ($i < 7){ //pega o valor referente ao dia e soma com o $i do looping $tudoJunto .= 0; $tudoJunto .= $data[0]+$i; // utilizando .= é sempre adicionado o valor para variável. $i++; } //exibe os dados no array echo $tudoJunto; ?>
aqui funcinou agora
"O impossível é apenas questão de opinião" J.W.
--------------------------
Att.
Alan Martini
#7
Posted 02/08/2010, 15:09
$data = strtotime('2010-08-02');
$somar = 6;
$s = '';
for($i=1;$i<=$somar;$i++){
$s .= date('d', $data + ($i*60*60*24));
}
echo $s;
#8
Posted 02/08/2010, 16:33
Muito obrigado pela ajuda...
Agora deu certo....
Mais uma vez obrigado
Esse código tem uns problemas. Primeiro vocês estão assumindo que a soma nunca vai passar de 09, porque se isso acontecer fica 010 e aí foge do padrão. Outra coisa é não considerar o que acontece se a data estiver perto do fim do mês e ele virar. Vai sair 32, 33, 34... Pra funcionar em qualquer situação, teria que ser uma coisa como:
$data = strtotime('2010-08-02');
$somar = 6;
$s = '';
for($i=1;$i<=$somar;$i++){
$s .= date('d', $data + ($i*60*60*24));
}
echo $s;
Cara muito bom seu codigo... Muito obrigado... Mas se não fosse abusar... Teria como você me dizer por exemplo como eu pulo as segundas-feiras?? Dessa maneira que me explicou esta printando todos os dias... Estou trabalhando com anuncio de jornal... E de segunda feira não existe classificados... então um exemplo o anuncio é feito na quinta ( dia 05 ), então o anuncio saíra 060708101112 (percebeu que eu pulei o 09 que é segunda feira e assim sussessivamente...
Obrigado
#9
Posted 02/08/2010, 16:43
$data = strtotime('2010-08-02');
$somar = 6;
$s = '';
for($i=1;$i<=$somar;){
$data += 60*60*24;
if(date('w', $data) != 1){
$s .= date('d', $data);
$i++;
}
}
echo $s;
#10
Posted 02/08/2010, 17:28
Vê se assim funciona:
$data = strtotime('2010-08-02');
$somar = 6;
$s = '';
for($i=1;$i<=$somar;){
$data += 60*60*24;
if(date('w', $data) != 1){
$s .= date('d', $data);
$i++;
}
}
echo $s;
Funcionou sim... Muito Obrigado
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)