Anche io avevo il problema della data, ogni item del feed aveva una data (<pubDate>) indietro di 2 ore rispetto a quella che gli avevo passato con:Originariamente inviato da Hadeskiller
per chi avesse problemi di fuso orario ke usa: feedcreator.class.php
// your local timezone, set to "" to disable or for GMT
define("TIME_ZONE","+01:00");
anche se settando questo time zone avete in aggiunta +6 ore del tipo..
nel db avete 13:08:00 e nella pagina php elaborata dal server si vede 19:08:00
è perchè feedcreator.class.php usa un gmdate.
quindi dove avete tutti i //return gmdate
o cmq i termine gmdate trasformatelo in date e avrete il fuso orario corretto.
spero di esservi stato utile il + possibile io ci ho messo 2 giorni per capire come aggiustare le date ^^
buona continuazione
Probabilmente dovuto al fatto che in Italia siamo un'ora avanti rispetto al fuso orario GMT, più un'altra ora perché siamo in periodo di ora legale. Quindi in totale 2 ore avanti rispetto a GMT.Codice PHP:$item->date = $datamioarticolo;
Ho seguito il suggerimento di Hadeskiller e la data degli item è andata a posto.
Però ora era andata avanti di 2 ore <lastBuildDate> del feed!, ovvero la data alla quale il feed viene generato. Prima era corretta. Questa data viene impostata dalla classe secondo la data corrente.
Ho risolto sostituendo questo codice nella classe:
con questo, che è praticamente uguale al modo con il quale la classe assegna il <pubDate> a ogni item:Codice PHP:$now = new FeedDate();
$feed.= " <lastBuildDate>".htmlspecialchars($now->rfc822())."</lastBuildDate>\n";
Ora però bisogna passare alla classe il valore della data, e utilizzo time() per passargli la data corrente:Codice PHP:if ($this->lastBuildDate!="") {
$lastBuildDate = new FeedDate($this->lastBuildDate);
$feed.= " <lastBuildDate>".htmlspecialchars($lastBuildDate->rfc822())."</lastBuildDate>\n";
}
Codice PHP:$rss->lastBuildDate = time();


