Any system with multiple participants benefits from a common notion of time. It can simplify communication, enables joint concurrent action, and is a necessary precondition for solving fundamental tasks like (deterministic) consensus. In this talk, I will give a broad overview of my research on this topic. I will cover gradient clock synchronization, i.e., the art of minimizing the clock difference between adjacent nodes in a larger network, Byzantine fault-tolerant and self-stabilizing synchronization algorithms, and clocking computer systems. I will also discuss how results on distributed systems are relevant to cybersecurity.