Eine effektive Systemzeit hat der AVR NICHT. Was natürlich leicht zu machen ist, ist mit einem der Timer einen größeren Zähler raufzuzählen.
Je nach Einheit muß der halt größer oder kleiner sein. Die ANSI-Zeit ist ein 32-Bit Zähler, der die Sekunden seit dem 1.1.1980 zählt
Aus dem wird dann im Bedarfsfall sowas wie "17-mar-2006 17:02:00" gemacht.
Die Differenzrechnung ist dann einfach eine Subtraktion. Aus der Differenz wird dann eben "tage hh:mm:ss" als Differenz.
Soll heissen, das Gewurstel ist immer die Umrechnung von sekunden in Jahre, monate, Tage, stunden,...... etc.

So gut/genau wie eine normale Quartzuhr kriegt man einen µC schon hin.