Como o YouTube Mostra o Tempo de Publicação: Entenda a Função timeAgo
Esta é uma função simples mas bem útil em PHP.
Ajuste conforme sua necessidade.
A data geralmente virá do banco de dados exceto se você manipular ela para refletir suas intenções.
Se você veio do youtube, deixe seu comentário para eu sabe de onde assistiu o vídeo. Obrigado.
<?php
date_default_timezone_set('America/Sao_Paulo');
// Formataço de tempo relativo
function timeAgo($datetime) {
$timestamp = strtotime($datetime);
$diff = time() - $timestamp;
if ($diff < 60) {
return 'Agora mesmo';
} elseif ($diff < 3600) {
$minutes = floor($diff / 60);
return "Há $minutes minuto" . ($minutes > 1 ? 's' : '');
} elseif ($diff < 86400) {
$hours = floor($diff / 3600);
return "Há $hours hora" . ($hours > 1 ? 's' : '');
} elseif ($diff < 259200) { // Menos de 3 dias
$days = floor($diff / 86400);
return "Há $days dia" . ($days > 1 ? 's' : '');
} else {
return date('d/m/Y', $timestamp); // Exibe a data real
}
}
?>
<!-- date('d-m-Y H:i:s') ESTE VALOR VIRÁ DO BANCO DE DADOS -->
<div class="text-light mt-5" align="center">
<h3 class="mb-5">
<?= timeAgo(date('d-m-Y H:i:s')) ?> <!-- Agora -->
</h3>
<h3 class="mb-5">
<?= timeAgo(date('d-m-Y H:i:s', strtotime('-10 minutes'))) ?> <!-- 10 minutos atrás -->
</h3>
<h3 class="mb-5">
<?= timeAgo(date('d-m-Y H:i:s', strtotime('-1 hour'))) ?> <!-- 1 hora atrás -->
</h3>
<h3 class="mb-5">
<?= timeAgo(date('d-m-Y H:i:s', strtotime('-1 day'))) ?> <!-- 1 dia atrás -->
</h3>
<h3 class="mb-5">
<?= timeAgo(date('d-m-Y H:i:s', strtotime('-5 days'))) ?> <!-- 5 dias atrás -->
</h3>
</div>
Nenhum comentário ainda.