从<pubdate> PHP RSS提要</pubdate>中删除时间

时间:2012-04-01 08:38:25

标签: php rss feed

我有没有附加时间的记录,所以使用rss feed我只是00:00。

我需要帮助自定义此代码以删除时间,但请保留日期。

任何帮助都会很棒,因为我一直在玩这个太长时间的脂肪:)

 $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>'

3 个答案:

答案 0 :(得分:1)

不要像那样提取日期,而是让PHP做得更好。

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

修改

所以,更改你的SELECT,如下所示:

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>

答案 1 :(得分:1)

更改

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

UNIX_TIMESTAMP(courses.date_added) as formatted_date_added

并在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>';

或者只输出

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

如果你没有时间信息。

答案 2 :(得分:0)

有PHP函数来操作日期格式。我喜欢使用以下代码来使用不同的日期格式。

<?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));
}

&GT;