Ir para conteúdo

POWERED BY:

Arquivado

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

lu4n

Convertendo quantidade de dias

Recommended Posts

Blz Galera, é o seguinte andei pesquisando sobre meu probleminha mais ñ obtive êxito...

tenho uma consulta no mysql, q soma os dias ex: ele retorna 480 dias...

 

quero transformar 480 dias em " x Ano, x Meses, x Dias"..

Vlw.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

em php com strtotime

$day='2015-03-06';

// add 480 days
$NewDate = date('Y-m-d', strtotime($day . " +480 days"));
echo $NewDate;

em php com DateTime

$day = '2015-03-06';

// add 480 days
$NewDate = new DateTime($day);
$NewDate->add(new DateInterval('P480D');
echo $NewDate->format('Y-m-d');

sql

INSERT INTO `table` (`data`) VALUES ( NOW() + INTERVAL 480 DAY );

só trocar o valor 480 estático por @var variável

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode utilizar está função:

function time2text($time){        
        $response=array();
        $years = floor($time/(86400*365));
        $time=$time%(86400*365);
        $months = floor($time/(86400*30));
        $time=$time%(86400*30);
        $days = floor($time/86400);
        $time=$time%86400;
        $hours = floor($time/(3600));
        $time=$time%3600;
        $minutes = floor($time/60);
        $seconds=$time%60;
        if($years>0) $response[]=$years.' ano'. ($years>1?'s':' ');
        if($months>0) $response[]=$months.' mes'.($months>1?'es':' ');
        if($days>0) $response[]=$days.' dia' .($days>1?'s':' ');
        if($hours>0) $response[]=$hours.' hora'.($hours>1?'s':' ');
        if($minutes>0) $response[]=$minutes.' minuto' . ($minutes>1?'s':' ');
        if($seconds>0)         $response[]=$seconds.' segundo' . ($seconds>1?'s':' ');
        return implode(', ',$response);
    }

$dias = 480;
$seg = $dias * 86400;
echo time2text($seg);

Saida:

1 ano , 3 meses, 25 dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

em php com strtotime

$day='2015-03-06';

// add 480 days
$NewDate = date('Y-m-d', strtotime($day . " +480 days"));
echo $NewDate;

em php com DateTime

 

$day = '2015-03-06';

// add 480 days
$NewDate = new DateTime($day);
$NewDate->add(new DateInterval('P480D');
echo $NewDate->format('Y-m-d');

sql

INSERT INTO `table` (`data`) VALUES ( NOW() + INTERVAL 480 DAY );

só trocar o valor 480 estático por @var variável

 

Williams Duarte,

Obg, pela ajuda mais não seria esse caso...

Você pode utilizar está função:

function time2text($time){        
        $response=array();
        $years = floor($time/(86400*365));
        $time=$time%(86400*365);
        $months = floor($time/(86400*30));
        $time=$time%(86400*30);
        $days = floor($time/86400);
        $time=$time%86400;
        $hours = floor($time/(3600));
        $time=$time%3600;
        $minutes = floor($time/60);
        $seconds=$time%60;
        if($years>0) $response[]=$years.' ano'. ($years>1?'s':' ');
        if($months>0) $response[]=$months.' mes'.($months>1?'es':' ');
        if($days>0) $response[]=$days.' dia' .($days>1?'s':' ');
        if($hours>0) $response[]=$hours.' hora'.($hours>1?'s':' ');
        if($minutes>0) $response[]=$minutes.' minuto' . ($minutes>1?'s':' ');
        if($seconds>0)         $response[]=$seconds.' segundo' . ($seconds>1?'s':' ');
        return implode(', ',$response);
    }

$dias = 480;
$seg = $dias * 86400;
echo time2text($seg);

Saida:

1 ano , 3 meses, 25 dias

 

Vlw Bri ~ era isso mesmoo q estava querendoo.

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.