He decidido incluir en mi web las últimas noticias de Yahoo, y para ello las leo a través de su RSS de Informática. Para ello utilizo un script para leer RSS desde ASP que aparece en un montón de páginas con alguna modificación mínima para mostrar la información como quiero.
El problema, es que al mostrar la fecha de la publicación de la noticia en mi página, aparece retrasada una hora con respecto a la fecha original del xml de Yahoo.
Por ejemplo, si una noticia fue publicada hoy a las 18:00:00, en mi web aparece como publicada a las 17:00:00.
El código tal como lo utilizo es el siguiente:
Código:
Para solucionar éste problema se me ha ocurrido leer el trozo de la cadena que muestra la hora y con un select, mostrar una hora menos de la leída, pero es una solución un poco farragosa y cutre, además pienso que tiene que haber alguna forma más correcta de hacer ésto, ya que tiene toda la pinta de tener que ver con los husos horarios.<%Response.Charset = "iso-8859-1" Dim objXML Dim objItemList Dim objItem Dim cd cd = CHR(34) Set objXML = Server.CreateObject("MSXML2.FreeThreadedDOMDocument") objXML.async = False objXML.setProperty "ServerHTTPRequest", True objXML.Load("http://d.yimg.com/cp/rss/informatica.xml") If objXML.parseError.errorCode <> 0 Then 'Si se produce un error, muestro su descripcion Response.Write "<code>" & vbCrLf Response.Write "<strong>Error:</strong> " & objXML.parseError.reason Response.Write "<strong>Linea:</strong> " & objXML.parseError.line & vbCrLf Response.Write "<strong>Texto:</strong> " & Server.HTMLEncode(objXML.parseError.srcText) & vbCrLf Response.Write "</code>" & vbCrLf else 'Obtengo los item Set objItemList = objXML.getElementsByTagName("item") Set objXML = Nothing Response.Write "<span class=" & cd & "rss" & cd & ">" &vbCrLf cont = 0 For Each objItem In objItemList 'Obtengo los nodos if cont < 5 then 'Solo quiero mostrar 5 noticias TituloRSS = objItem.childNodes(1).text LinkRSS = objItem.childNodes(2).text DescripcionRSS = objItem.childNodes(5).text cadena1 = objItem.childNodes(4).text cadena2 = right(cadena1, 26) FechaRSS = left(cadena2, 20) Response.Write "<a href=" & cd & LinkRSS & cd &" target=" & cd & "_ablank" & cd & " title=" & cd & "Ver noticia completa" & cd & ">" & TituloRSS & "</a><br/></span>" & vbCrLf Response.Write "<span class=" & cd & "frss" & cd & ">Publicado el " & FechaRSS & "</span><br/>" & vbCrLf Response.Write "<span class=" & cd & "rss" & cd & ">" & DescripcionRSS & "<br/><br/>" & vbCrLf cont = cont + 1 end if Next Response.Write "</span>" &vbCrLf Response.Write "<p>Última comprobación/actualización de las noticias el " & Date() & " a las " & Time() & "</p>" end if Set objItemList = Nothing%>
¿Se le ocurre a alguien alguna solución para éste problema?
Gracias y un saludo.