Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17735
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Sistema de tempo restante para uma data time PHP

11-03-2016 15:21

Nesse post vou mostrar um script que pega um time de uma data futura e retorna o tempo que falta para aquela data.

Esse script retorna o tempo restante em: anos, meses, dias, horas, minutos ou segundos.

<?php // CORREÇÃO DA DATA DO SERVIDOR // SE VOCÊ TIVER UM FUSO-HORÁRIO DIFERENTE, VEJA ESSE LINK // http://www.codigosnaweb.com/forum/Como-corrigir-o-problema-do-fuso-horario-do-servidor_1_8976.html date_default_timezone_set('America/Sao_Paulo'); function passou($timestamp) { $passou = ''; $segundo = $timestamp - time(); $minuto = (int)($segundo / 60); $hora = (int)($minuto / 60); $dia = (int)($hora / 24); $meses = (int)($dia / 30); $ano = (int)($dia / 365); if ($ano >= 1) { $passou = 'falta ' .$ano . ' ano' . ($ano != 1 ? '(s)' : ''); } else if ($meses >= 1) { $passou = 'falta ' .$meses . ' mes' . ($ano != 1 ? '(es)' : ''); } else if ($dia >= 1) { $passou = 'falta ' .$dia . ' dia' . ($dia != 1 ? '(s)' : ''); } else if ($hora >= 1) { $how_log_ago = $hora . ' hora' . ($hora != 1 ? '(s)' : ''); } else if ($minuto >= 1) { $passou = 'falta ' .$minuto . ' minuto' . ($minuto != 1 ? '(s)' : ''); } else { $passou = 'falta ' .$segundos . ' ha segundo' . ($segundos != 1 ? '(s)' : ''); } return $passou; } echo passou("1458723600"); // falta 11 dia(s) ?>

Abaixo uma versão mais completa

<?php date_default_timezone_set('America/Sao_Paulo'); function tempo($time){ $diff = $time - time(); $seconds = $diff; $minutes = round($diff / 60); $hours = round($diff / 3600); $days = round($diff / 86400); $weeks = round($diff / 604800); $months = round($diff / 2419200); $years = round($diff / 29030400); if($seconds < 10) return "Agora mesmo"; if($seconds < 60) return "$seconds segundos"; else if($minutes < 60) return $minutes==1 ?'1 minuto':$minutes.' minutos'; else if($hours < 24) return $hours==1 ?'1 hora':$hours.' horas'; else if($days < 7) return $days==1 ?'1 dia':$days.' dias'; else if($weeks < 4) return $weeks==1 ?'1 semana':$weeks.' semanas'; else if($months < 12) return $months == 1 ?'1 mes':$months.' meses'; else return $years == 1 ? '1 ano':$years.' anos'; } echo tempo("1458723600"); ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Bing [Bot]