Use respectively codemeta.dateCreated/codemeta.datePublished as revision.author_date/revision.committer_date if provided.
Else use codemeta.dateCreated for those field dates if provided
Else use codemeta.datePublished for those field dates if provided
Else use deposit.complete_date for those fields
Related T1637
nitpicking a bit, but IMHO the t temp var is not needed here. The whole if/elif block can manipulate {author,commit}_date variables directly.