Avatar billede Slettet bruger
13. oktober 2009 - 03:08 Der er 3 kommentarer og
1 løsning

Ændring af tidsformat i RSS

Hej eksperten

Synes ikke jeg kan få min tidsformat i min RSS til at virke, pt. vises tiden som vinden blæser. Vil gerne have den til og vise i formatet dd-mm-åååå.

I min MySQL database er mit felts datatype sat til date og indeholder derfor en dato med åååå-mm-dd.

Jeg har forsøgt med:
date("d-m-Y",strtotime($row['date']))
Men uden held.

Kan i hjælpe mig med dette?

Min kode ser således ud:

<?php 
header("Content-Type: application/rss+xml; charset=ISO-8859-1");

DEFINE ('DB_USER', 'username');  //Brugernavn til MyAQL
DEFINE ('DB_PASSWORD', 'password');  //Password til MySQL
DEFINE ('DB_HOST', 'localhost');  //Host til MySQL
DEFINE ('DB_NAME', 'tablename');  //Databasenavn til MySQL
 
$rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>'; 
$rssfeed .= '<rss version="2.0">'; 
$rssfeed .= '<channel>'; 
$rssfeed .= '<title>jensjungersen.dk</title>';  //Adresse til hjemmesiden
$rssfeed .= '<link>http://www.jensjungersen.dk</link>';  //Adresse til hjemmesiden
$rssfeed .= '<description>RSS feed</description>';  //Beskrivelse
$rssfeed .= '<language>da</language>';  //Valg af sprog
$rssfeed .= '<copyright>Copyright (C) 2009 jensjungersen.dk</copyright>';  //Copyright

  $connection = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) 
        or die('Could not connect to database'); 
    mysql_select_db(DB_NAME) 
        or die ('Could not select database'); 
 
    $query = "SELECT * FROM indlaeg ORDER BY id DESC";  //Angiv hvilken tabel der skal bruges
    $result = mysql_query($query) or die ("Could not execute query"); 
 
    while($row = mysql_fetch_array($result)) { 
        extract($row); 
 
          $hjemmeside = "http://www.jensjungersen.dk/indlaeg/indlaeg_vis.php?id=";
 
        $rssfeed .= '<item>'; 
        $rssfeed .= '<title>' . $overskrift . '</title>';  //Angiv celle
        $rssfeed .= '<description>' . $indhold . '</description>';  //Angiv celle
        $rssfeed .= '<link>' . $hjemmeside . '' . $id . '</link>';  //Angiv celle
        $rssfeed .= '<pubDate>' . date("D, d M Y H:i:s", strtotime($date)) . '</pubDate>';  //Angiv celle "d-m-Y",strtotime($row['date'])
        $rssfeed .= '</item>'; 
    } 
 
    $rssfeed .= '</channel>'; 
    $rssfeed .= '</rss>'; 
 
    echo $rssfeed; 
?>
Avatar billede bente_fiber Nybegynder
13. oktober 2009 - 06:14 #1
Der er regler for, hvilket format dato skal være i RSS..
http://cyber.law.harvard.edu/rss/rss.html

Jeg vil anbefale dig, at gemme datofelter i Sql som linux-datatime. Det gør det meget nemmere for dig, at arbejde med. Og du slipper for, at skulle bruge ressourcer på, at konventere det hver gang du skal bruge det.

- Simon
http://www.mybabe.dk
Avatar billede Slettet bruger
13. oktober 2009 - 10:02 #2
Hvor gøres dette? Jeg synes ikke jeg kan finde nogen Datatype der hedder linux-datatime :S

Lidt mere info tak.
Avatar billede bente_fiber Nybegynder
26. oktober 2009 - 03:33 #3
Unix datetime er time() i php...
Gem i stedet den i din database og benyte date() funktionen til at vise datoen i det format du ønsker.

Det vil jeg klart anbefale dig at gøre, medmindre du programmere asp.net.
Avatar billede Slettet bruger
03. maj 2010 - 15:00 #4
Fandt aldrig en løsning!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester