Eine Echtzeituhr oder physikalische Uhr ist eine Uhr, die die physikalische Zeit misst. Der Begriff wird meistens in der Computertechnik bzw. Informatik benutzt, um eine Unterscheidung zu logischen Uhren zu treffen. In diesem Zusammenhang werden Hardware- und Software-Echtzeituhren unterschieden. In einem etwas engeren Sinne sind mit Echtzeituhr (Hardware-)Uhren gemeint, die die Uhrzeit (wie in praktisch allen modernen PCs) auch beim Ausschalten des Geräts behalten bzw. fortschreiben.
Die meisten Betriebssysteme führen zusätzlich zur meist eingebauten Hardware-Uhr auch eine Software-Uhr, die beim Booten mit der Hardware-Uhr abgeglichen wird. Beim Herunterfahren wird häufig die Hardware-Uhr auf den Wert der Software-Uhr gesetzt.
Die Uhrzeit der Echtzeituhr besteht zunächst nur aus einem Zählerstand (meistens in Sekunden seit der Unix-Epoche). Die Umrechnung in eine für Menschen verständliche Form, sowie die Einbeziehung von Zeitzonen und Schaltjahren wird vom Betriebssystem übernommen. Viele Uhren-Chips jedoch enthalten Register, die die Uhrzeit im vom Menschen gewohnten Format (Sekunden, Minuten, Stunden, Tag, Monat, Jahr (oft nur zweistellig), Wochentag) fortschreiben. Einfache Mikrocontroller-Systeme können direkt mit diesen Werten arbeiten. In komplexeren Systemen (wie Betriebssystemen) werden die ausgelesenen Werte jedoch meist in ein Sekundenformat (wie die Unixzeit) umgewandelt, das erst bei der Ausgabe wieder in ein vom Menschen verständliches Format zurückgewandelt wird.
Es gibt verschiedene Ansätze, die Echtzeituhr eines Computers mit der tatsächlichen Uhrzeit (meistens UTC) zu synchronisieren. Das verbreitetste Verfahren ist, die Uhrzeit von einem oder mehreren Zeitservern zu erfragen und dann durch geschickte Umrechnungen die Verzögerung durch die Übertragungszeit auszugleichen. Siehe dazu Christians Algorithmus und das Network Time Protocol.