2012-08-16 8 views
20

मुझे सही तरीके से चलाने के लिए मेरे आरएसएस फ़ीड की तारीख प्राप्त करने में परेशानी हो रही है। क्या आप जानते हैं कि यह दिखाने के लिए उचित तिथि क्या है?आरएसएस फ़ीड पबडेट के लिए सही प्रारूप क्या है?

मैं इसे एक क्षेत्र इस प्रारूप में CREATION_DATE कहा जाता है में संग्रहीत किए गए: 2012-08-14 10:17:12

तो मैं इसे हड़पने:

$pubDate = $article[creation_date]; 

तब मैं परिवर्तित:

$pubDate= date("Y-m-d", strtotime($pubDate)); 

तब मेरे आइटम टैग के भीतर मैं यह जगह:

<pubdate>'.date("l, F d, Y", strtotime($pubDate)).'</pubdate>

क्या ऐसा कुछ है जिसे मैं नहीं देख रहा हूं?

+0

आरएसएस फ़ीड पर तत्व में उचित तरीके से दिनांक कैसे रखें] (http://stackoverflow.com/questions/9405309/how-to-properly-place-date-in-pubdate-element-on- आरएसएस-फीड) – random

उत्तर

19

हल:

$pubDate = $article[creation_date]; 
    $pubDate= date("D, d M Y H:i:s T", strtotime($pubDate)); 

फिर मेरे echo'd कोड में:

<pubDate>'.$pubDate.'</pubDate> 
10

उपयोग इस प्रारूप: D, d M Y H:i:s Ohttp://php.net/manual/en/class.datetime.php

देखें या अधिक आसान उपयोग के लिए दिनांक समय स्थिरांक का उपयोग करें: DateTime::RSS

1

मैं इस तरह का इस्तेमाल किया है:

$item->date = date('D, d M Y H:i:s GMT', strtotime($myBlogPublishedTime)); 

my hp rss sample

3

के बारे में क्या DateTime वस्तु (PHP 5> = 5.2.0)

\DateTime::createFromFormat(\DateTime::RSS, $RSSDate); // converting RSS date to object 

या

date(\DateTime::RSS, $timestamp); // formatting timestamp to RSS time 

या दोनों

$dto = \DateTime::createFromFormat(\DateTime::RSS, $RSSDate); 
date('d-M-Y H:i:s', $dto->getTimestamp()); // formatting RSS date to anything you want 

या और भी बेहतर

$dto = \DateTime::createFromFormat(\DateTime::RSS, $RSSDate); 
$formattedDate = $dto->format('d-M-Y H:i:s'); 
9

देखें pubDateRSS 2.0 Specification में परिभाषा:

आरएसएस में सभी दिनांक-समय Date and Time Specification of RFC 822 के अनुरूप है, अपवाद के साथ कि वर्ष को दो अक्षर या चार वर्ण (चार पसंदीदा) के साथ व्यक्त किया जा सकता है।

<pubDate>Wed, 02 Oct 2002 08:00:00 EST</pubDate> 

<pubDate>Wed, 02 Oct 2002 13:00:00 GMT</pubDate> 

<pubDate>Wed, 02 Oct 2002 15:00:00 +0200</pubDate> 

भी Problematical RFC 822 date-time value देखें:

यहां मान्य RFC822 तिथि-समय के उदाहरण हैं।

+0

http://asg.web.cmu.edu/rfc/rfc822.html#sec-5 हटा दिया गया था। –

+0

@PedroLobito ने लिंक को अपडेट किया – splash

49

पीएचपी तारीख समारोह पहले से ही (RFC 2822) के अनुरूप दिनांक pubDate फ़ॉर्मेट करने के लिए एक तरीका है:

date('r', $timestamp); 
5

आरएसएस pubDateRFC 2822 standards उपयोग करता है। यह आपको DateTime वर्ग, उपयोग पसंद करते हैं तर्क r

<?php 
$now = time(); 
$pubDate= date('r', $now); 

echo "<pubDate>$pubDate</pubDate>"; 
//<pubDate>Thu, 20 Nov 2014 18:59:18 UTC</pubDate> 
?> 

साथ प्राप्त गर्त php Date समारोह हो सकता है:

$pubDate = new DateTime(); 
echo $pubDate->format(DateTime::RSS); 
5
जबकि स्वीकार किए जाते हैं जवाब ("D, d M Y H:i:s T") काम करता है

के रूप में समय के सबसे अधिक उम्मीद, यह 100% सही नहीं है। बहुभाषी परिस्थितियों में यह स्ट्रिंग गैर अंग्रेजी पाठ दे सकती है जिसे आरएफसी अनुपालन के रूप में स्वीकार नहीं किया जाएगा। हमेशा यह सुनिश्चित करने के लिए कि अंग्रेजी संस्करण का उपयोग किया जाता है, "r" का उपयोग करें।

संबंधित मुद्दे