2012-04-01 7 views
0

Ich habe Datensätze ohne Zeit so angeschlossen, mit dem RSS-Feed Ich bekomme gerade 00:00.Entfernen Zeit von <pubDate> PHP RSS-Feed

Ich brauche Hilfe, diesen Code anzupassen, um die Zeit zu entfernen, aber das Datum zu behalten.

Jede Hilfe wäre toll, wie ich mit diesem für Fett zu lange gespielt haben :)

$get_courses = "SELECT 
    courses.course_id, 
    DATE_FORMAT(courses.date_added,'%a %b %e %Y') as formatted_date_added, 
    courses.course_type, 
    courses.start_date, 
    location_name, 
    price, 
    duration 
FROM courses 
JOIN addresses ON courses.course_get_address_id = addresses.address_id 
WHERE courses.active = 'Active' 
ORDER BY courses.date_added DESC 
LIMIT 30"; 

XML

'<pubDate>'.$course['formatted_date_added'].' GMT</pubDate>' 

Antwort

1

ändern

DATE_FORMAT(courses.date_added,'%a %b %e %Y') as formatted_date_added 

zu

UNIX_TIMESTAMP(courses.date_added) as formatted_date_added 

und in PHP:

if (date("H:i", $tuple["when"]) == "00:00") 
    // without time 
    echo '<pubDate>'.strftime('%a %b %e %Y', 
     $course['formatted_date_added']).' GMT</pubDate>'; 
else 
    // with time 
    echo '<pubDate>'.strftime('%a %b %e %Y %r', 
     $course['formatted_date_added']).' GMT</pubDate>'; 

Oder einfach Ausgabe

'<pubDate>'.strftime('%a %b %e %Y', $course['formatted_date_added']).' GMT</pubDate>' 

, wenn Sie nicht immer Zeitinformationen haben.

1

Statt Datum wie das Extrahieren, besser lassen PHP es tun.

'<pubDate>'. date("d-m-Y", strtotime($course['formatted_date_added'])) . ' GMT</pubDate>'; 

EDIT

So ändern Sie Ihre SELECT wie folgt:

SELECT courses.course_id, 
courses.date_added AS formatted_date_added, courses.course_type, courses.start_date, 
location_name, price, duration 
FROM courses <rest is fine, keep it intact> 
0

Es gibt PHP-Funktionen, um das Datumsformat zu manipulieren. Ich verwende den folgenden Code gerne, um mit verschiedenen Datumsformaten zu spielen.

<?php 
$date_str= "Mon Apr 23 2012"; 
$desired_date_format= "Y-m-d"; 
echo $new_date_str = change_date_format($desired_date_format,$date_str); 

function change_date_format($date_format, $date_str) 
{ 
    return date($date_format,strtotime($date_str)); 
} 

?>