That's tougher than it first looks because of the idioms involved. You can't just translate the words for an idiom - what you end up with is meaningless in the second language. The thought in 'live for today' is basically to not worry about the future. Latin didn't have (or I have not found) a comparable idiom other than 'Carpe diem' When you say 'learn from yesterday', you really mean 'learn from the past.' Same concept for 'tomorrow' - 'hope for the future.'
Also, what you have and what Pablo has proposed don't work grammatically. Heri, hodie, and cras are all adverbs. And, going back to the old grammar classes, adverbs can't be the object of a verb or a preposition - that has to be a noun. And there were substantive (noun) forms for all three. 'Tomorrow' is 'cras istud', 'yesterday' is 'hesternus dies' and 'today' is 'hodiernus dies'. For the latter two, the 'dies' part was often not used and the adjectives used essentially as nouns.
For prepositions, the first point is that 'spero' does not need a preposition. The primary translation of 'sperare' is 'to hope for' - the preposition is inherent in the verb. Next, 'discere' takes 'de' in the sense of 'learn from' - not a/ab or e/ex.
One more note. Latin used plural forms for both the past and the future - Romans looked on those as a series of individual evebnts rather than one thing.
Disce de praeteritis et carpe hesternum et spera futura.
Literally, 'Learn from the past and sieze today and hope for the future.