Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Pasar timestamp a días horas minutos y segundos PHP

  • 15/11/2013
  • 9:36 pm
  • marcofbb

Les dejo un código para pasar del formato UNIX time(); a días, horas, minutos y segundos. La función es muy sencilla, es simplemente matemática básica. Se puede modificar para crear una función que diga "Hace n tiempo" para darle un toque personalizado a las fechas.

function hace($time){
	//
	$time = time() - $time;
	//
        if($time < 10) $dato_dia = number_format(($time / (60*60)) / 24,6); else $dato_dia = ($time / (60*60)) / 24;
	$data = explode('.',$dato_dia);
	$dato_dia = $data[0];
	$dato_hora = ('0.'.$data[1])*24;
	$data = explode('.',$dato_hora);
	$dato_hora = $data[0];
	$dato_min = ('0.'.$data[1])*60;
	$data = explode('.',$dato_min);
	$dato_min = $data[0];
	$dato_seg = ('0.'.$data[1])*60;
	$data = explode('.',$dato_seg);
	$dato_seg = $data[0];
	if($dato_dia < 10) $dato_dia = '0'.$dato_dia;
	if($dato_hora < 10) $dato_hora = '0'.$dato_hora;
	if($dato_min < 10) $dato_min = '0'.$dato_min;
	if($dato_seg < 10) $dato_seg = '0'.$dato_seg;
	//
	if($dato_dia == '00'){
		return $dato_hora.':'.$dato_min.':'.$dato_seg;	
	} else {
		return $dato_dia.' days '.$dato_hora.':'.$dato_min.':'.$dato_seg;	
	}
}
 
echo hace(1384428541);
// 01 days 13:01:39

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 4

Avatar
Un programador de verdad
02/01/2014
10:59 am

Que interesante...

http://www.php.net/manual/en/function.date-diff.php

😉

Avatar
17/01/2014
10:44 am

Como seria con meses en vez de 64 dias?

2 meses, 3 días, 2 horas 11 minutos y 5 segundos

Avatar
24/07/2014
5:57 pm

lo normal es que se muestre: 01/12/2014 - 21:07, con esta funcion que no se donde ponerlo :v
se mostrara asi: Hace 5 dias, 12 horas y 7 segundos.

???????????? !!

Donde pongo esa funcion !

Avatar
29/11/2016
1:20 pm

Aaaaaaa, Amigo, ¿Sabes cuanto Sufri por hacer esto, hace algunos meses? 🙁 hahahahaaha Excelente informacion, solo que me llego algo tarde.... haha


Enviar Comentario

(*)

(*)