Witam, mam problem z przerobieniem daty z formatu : 24.05.2005 17:00 na format : Tue, 24 May 2005 1914 GMT. Potrzebne mi jest to do rss który jest automatycznie tworzony z już istniejącego systemu newsów. Ma ktoś jakiś pomysł na to????
pobaw sie tym http://pl.php.net/manual/pl/function.date.php
a coś konkretniejszego tą funkcją się bawiłem ale nie uzyskałem porządanych rezultatów
<?php
function change_date($s)
{
$a = split("[^0-9]+", trim($s));
$d = strtotime("$a[2]-$a[1]-$a[0] $a[3]:$a[4]");
return gmdate("D, j M Y H:i:s", $d) . ' GMT';
}
echo change_date('24.05.2005 17:00');
?>
jakąś głupote mi pokazuje ta funkcja, z wszystkich dat zrobiło Wed, 31 Dec 1969 2359 GMT
bicluc napisał(a)
jakąś głupote mi pokazuje ta funkcja, z wszystkich dat zrobiło Wed, 31 Dec 1969 2359 GMT
hmmm... no nie wiem, mnie wyswietla Tue, 24 May 2005 1500 GMT, moze masz jakis inny format daty i dlatego pokazuje glupoty ?
bicluc napisał(a)
jakąś głupote mi pokazuje ta funkcja, z wszystkich dat zrobiło Wed, 31 Dec 1969 2359 GMT
Może napisz jak to wstawiłeś do swojego skryptu, bo sprawdziłem skrypt piechnata i działa idealnie :)
ja też sprawdziłem i działa ... dziwne bo jak wyciągne z pliku date to niechodzi ;/
function change_date($s)
{
$a = split("[^0-9]", $s);
$d = strtotime("$a[2]-$a[1]-$a[0] $a[3]:$a[4]");
return gmdate("D, j M Y H:i:s", $d) . ' GMT';
}
for ($i=count($file)-13;$i<count($file);$i++)
{
$e=count($file)-$l;
$l++;
$pliknewsa=file("baza/news/news_r/$file[$e]");
$odczyt = explode("||", $pliknewsa[0]);
$id = explode(".", $file[$e]);
$data_w = change_date($odczyt[4]);
print("
<item>
<title>".$odczyt[0]."</title>
<link>http://localhost/index.php?news=".$id[0]."</link>
<description><![CDATA[ ".$odczyt[1]."<br><br>".$odczyt[2]." ]]></description>
<pubDate>".$data_w."</pubDate>
</item>
");
}
a format daty jest taki jaki powinien być wejściowy ;/ to nie wiem co jest nie tak :/
pokaż jeszcze fragment z pliku, który otwierasz (jakiś z: baza/news/news_r/$file[$e])
taka jest budowa pliku - wszystko w nim znajduje się w 1 lini:
Temat||tekst||tekst2||autor||27.05.2005 10:11||obrazek.jpg||
Wiem już co było - dwie spacje wystarczyło dodać do funkcji
$s = str_replace(" ", " ", $s);
thx wszystkim za pomoc ! :)