@@ -67,6 +67,8 @@ func (t *DefaultRSSTranslator) translateFeedItem(rssItem *rss.Item) (item *Item)
6767 item .Link = t .translateItemLink (rssItem )
6868 item .Published = t .translateItemPublished (rssItem )
6969 item .PublishedParsed = t .translateItemPublishedParsed (rssItem )
70+ item .Updated = t .translateItemUpdated (rssItem )
71+ item .UpdatedParsed = t .translateItemUpdatedParsed (rssItem )
7072 item .Author = t .translateItemAuthor (rssItem )
7173 item .GUID = t .translateItemGUID (rssItem )
7274 item .Image = t .translateItemImage (rssItem )
@@ -279,18 +281,20 @@ func (t *DefaultRSSTranslator) translateItemLink(rssItem *rss.Item) (link string
279281}
280282
281283func (t * DefaultRSSTranslator ) translateItemUpdated (rssItem * rss.Item ) (updated string ) {
282- if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
284+ if updatedVal , ok := t .hasAtomExtensionsForKey (rssItem , "updated" ); ok {
285+ updated = t .atomTranslator .translateItemUpdated (updatedVal )
286+ } else if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
283287 updated = t .firstEntry (rssItem .DublinCoreExt .Date )
284288 }
285289 return updated
286290}
287291
288292func (t * DefaultRSSTranslator ) translateItemUpdatedParsed (rssItem * rss.Item ) (updated * time.Time ) {
289- if rssItem .DublinCoreExt != nil && rssItem .DublinCoreExt .Date != nil {
290- updatedText := t .firstEntry (rssItem .DublinCoreExt .Date )
293+ if updatedText := t .translateItemUpdated (rssItem ); updatedText != "" {
291294 updatedDate , err := shared .ParseDate (updatedText )
292295 if err == nil {
293- updated = & updatedDate
296+ utcDate := updatedDate .UTC ()
297+ updated = & utcDate
294298 }
295299 }
296300 return
0 commit comments