@@ -69,6 +69,8 @@ func (t *DefaultRSSTranslator) translateFeedItem(rssItem *rss.Item) (item *Item)
6969 item .Link = t .translateItemLink (rssItem )
7070 item .Published = t .translateItemPublished (rssItem )
7171 item .PublishedParsed = t .translateItemPublishedParsed (rssItem )
72+ item .Updated = t .translateItemUpdated (rssItem )
73+ item .UpdatedParsed = t .translateItemUpdatedParsed (rssItem )
7274 item .Author = t .translateItemAuthor (rssItem )
7375 item .Authors = t .translateItemAuthors (rssItem )
7476 item .GUID = t .translateItemGUID (rssItem )
@@ -289,18 +291,20 @@ func (t *DefaultRSSTranslator) translateItemLink(rssItem *rss.Item) (link string
289291}
290292
291293func (t * DefaultRSSTranslator ) translateItemUpdated (rssItem * rss.Item ) (updated string ) {
292- if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
294+ if updatedVal , ok := t .hasAtomExtensionsForKey (rssItem , "updated" ); ok {
295+ updated = t .atomTranslator .translateItemUpdated (updatedVal )
296+ } else if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
293297 updated = t .firstEntry (rssItem .DublinCoreExt .Date )
294298 }
295299 return updated
296300}
297301
298302func (t * DefaultRSSTranslator ) translateItemUpdatedParsed (rssItem * rss.Item ) (updated * time.Time ) {
299- if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
300- updatedText := t .firstEntry (rssItem .DublinCoreExt .Date )
303+ if updatedText := t .translateItemUpdated (rssItem ); updatedText != "" {
301304 updatedDate , err := shared .ParseDate (updatedText )
302305 if err == nil {
303- updated = & updatedDate
306+ utcDate := updatedDate .UTC ()
307+ updated = & utcDate
304308 }
305309 }
306310 return
0 commit comments