domingo, 18 de julio de 2010

Fechas más amigables en Blogger

Colocar fechas relativas o el tiempo transcurrido entre dos fechas (ejemplo: Publicado hace 2 días), es más amigable de interpretar que una fecha como tal. Este tipo de fechas son muy comunes en servicios como Twitter o Facebook

En Blogger es posible crear también este tipo de fechas con un poco de javascript y agregando un par de cosas en la plantilla, de manera muy rápida.

Procedimiento:

1. Entra al código de tu plantilla Escritorio → Diseño → Edición HTML → Expandir plantilla de artilugios ) y justo después del siguiente código: ]]></b:skin>
Añade el siguiente script:
<script type='text/javascript'>
/* Fechas amigables en Blogger: http://blogandweb.com/2784 */
function timeAgo(date1,date2,granularity){var self=this;periods=[];periods['semana']=604800;periods['día']=86400;periods['hora']=3600;if(!granularity){granularity=5;}
(typeof(date1)=='string')?date1=new Date(date1).getTime()/1000:date1=new Date().getTime()/1000;(typeof(date2)=='string')?date2=new Date(date2).getTime()/1000:date2=new Date().getTime()/1000;if(date1>date2){difference=date1-date2;}else{difference=date2-date1;}
output='';for(var period in periods){var value=periods[period];if(difference>=value){time=Math.floor(difference/value);difference%=value;output=output+time+' ';if(time>1){output=output+period+'s ';}else{output=output+period+' ';}}
granularity--;if(granularity==0){break;}}
return'Hace '+output;}
$(document).ready(function(){});
</script>

2. Ahora busca: <data:post.dateHeader/>
Nota: recuerda tener los artilugios expandidos o no encontraras este código.
sustitúyelo con:
<script type='text/javascript'>document.write(timeAgo('<data:post.dateHeader/>'));</script>
3. El último paso es cambiar el formato de fecha para que sea compatible con el script entra a:Escritorio → Configuración → Formato → Formato de cabecera de fecha. Y cambia el formato de fecha por el sexto de arriba hacia abajo, es tipo: 7/18/2010. Guarda los cambios.
Y listo.




0 comentarios:

Publicar un comentario