de webmaster a webmaster

Formato pubDate en RSS

con 2 comentarios, ¡esto se mueve!

Generador de blogs automáticos

Actualmente estamos trabajando en nuestro nuevo proyecto cOOmmunicate.com, cOOmmunicate es un sistema que permite generar blogs automáticos partiendo de cualquier fuente de noticias RSS.

El objetivo de cOOmmunicate es el de mejorar el posicionamiento de producto ofreciendo a nuestros clientes un sistema de blogs automático que no precisa interacción del cliente una vez configurado, es decir el mismo consulta clasifica y actualiza el blog por si sólo. Con cOOmmunicate podrás tener un blog sobre tu empresa o sector sin tener que dedicarle nada de tiempo, un blog que recibirá cientos de visitas al día en muy poco tiempo, una visita siempre puede convertirse en un comprador en potencia.

En nuestro proyecto vamos a utilizar el fichero RSS generado en una de un cliente nuestro, Cablematic.com un mayorista de armarios rack y todo tipo de cables que utiliza nuestro sistema de tiendas online ecOOmmerce.com, el resultado será un blog con todas las novedades que introduzca el cliente en el backoffice.

Tras esta introducción comercial sobre nuestro nuevo producto vamos a la parte más técnica y aquella a la que podéis extraer un mayor provecho ya que es en este punto del cuando hemos detectado la necesidad de convertir las fechas entre formatos y formatos de fecha en RSS, a partir de aquí y tras conseguir realizar las correspondientes fórmulas de conversión de fechas publicamos el código básico para aquellos que tengan la misma necesidad.

Manejo del formato de fecha pubDate

El pubDate es una etiqueta de los archivos de sindicación de contenidos RSS, en esta etiqueta se coloca la fecha del artículo o post y posee un formato un tanto especial :

Sat, 09 Jan 2010 00:00:00 +0100

ó

Sat, 09 Jan 2010 00:00:00 GMT

Es decir:

Día de la semana coma número de día dentro del mes nombre del mes con tres letras año con cuatro números hora dos puntos minutos dos puntos segundos y GMT.

El problema o dificultad reside en como generar y manipular dicha fecha en pues no existe un comando directo, si bien esto es una tarea más bien fácil os dejamos un apunte para aquellos que estén atascados con las conversiones de fecha en mysql, veamos un ejemplo:

Disponemos de una fecha en formato “date” de Mysql ej: 2010-01-01 y necesitamos convertirla a formato RSS para generar un rss de novedades de producto.

Para conseguir esto es suficiente con el siguiente par de líneas de código:

$mysqlDateStr = strtotime($mysqlDate);
$pubdate = date(‘D, d M Y H:i:s O’,$mysqlDateStr);

Este conversión la realizamos en dos pasos, primero convertimos en string el formato de mysql date para luego aplicarle el formato deseado, que no es otro que el formato pubDate de los RSS mediante el comando date de php.

En cambio si lo que tenemos en el origen es una fecha en formato TimeStamp deberemos utilizar el siguiente código:

$year = substr($timestampDate, 0, 4);
$month = substr($timestampDate, 4, 2);
$day = substr($timestampDate, 6, 2);
$hour = substr($timestampDate, 8, 2);
$min = substr($timestampDate, 10, 2);
$sec = substr($timestampDate, 12, 2);
$pubdate = date(‘D, d M Y H:i:s O’, mktime($hour, $min, $sec, $month, $day, $year));

En este código lo que hacemos es extraer cada parte del string en formato timestamp de mysql y lo convertimos en una variable aislada para finalmente formar una cadena de texto string con el comando de php date.

Ahora vamos a tratar el mismo problema a la inversa, es decir vamos a convertir una fecha en formato pubDate a un formato mysql:

$mysqlDate = date(‘Y-m-d H:i:s’,strtotime($pubDate);

Con este pequeño apunte ahora nos será más fácil y rápido convertir estas fechas.

Be Sociable, Share!

Escrito por un tal uvedobles.com

March 5th, 2010 a las 8:39 am

2 respuesta to 'Formato pubDate en RSS'

Subscríbete a estos comentarios via RSS or TrackBack a 'Formato pubDate en RSS'.

  1. Me ha sido muy util ya que es la primera vez que hago un RSS, gracias

    Pablo

    24 Sep 10 at 09:58

  2. me salvaste la vida!! muchisisisisimas gracias campeon!! me re sirvio, lo probe y anduvo! copaaaado 😉

    maxi

    22 Oct 10 at 17:54

Deja aquí tu comentario, tu huella, o mejor ingrésame unos euros