We consider the problem of clock synchronization in a wireless setting where processors must minimize the number of times their radios are used, in order to save energy. Energy efficiency is a central goal in wireless networks, especially if energy resources are severely limited, as occurs in sensor and ad-hoc networks, and in many other settings. The problem of clock synchronization is fundamental and intensively studied in the field of distributed algorithms. In the current setting, the problem is to synchronize clocks of m processors that wake up in arbitrary time points, such that the maximum difference between wake up times is bounded by a positive integer n. (Time intervals are appropriately discretized to allow communication of all processors that are awake in the same discrete time unit.) Currently, the best-known results for synchronization for single-hop networks of m processors is a randomized algorithm due to Bradonjic, Kohler and Ostrovsky  of O(√n/m·poly-log(n)) radio-use times per processor, and a lower bound of Ω (√n/m). The main open question left in their work is to close the poly-log gap between the upper and the lower bound and to de-randomize their probabilistic construction and eliminate error probability. This is exactly what we do in this paper. That is, we show a deterministic algorithm with radio use of θ(√n/m), which exactly matches the lower bound proven in , up to a small multiplicative constant. Therefore, our algorithm is optimal in terms of energy efficiency and completely resolves a long sequence of works in this area [2, 11-14]. Moreover, our algorithm is optimal in terms of running time as well. In order to achieve these results we devise a novel adaptive technique that determines the times when devices power their radios on and off. This technique may be of independent interest. In addition, we prove several lower bounds on the energy efficiency of algorithms for multi-hop networks. Specifically, we show that any algorithm for multi-hop networks must have radio use of Ω(√n) per processor. Our lower bounds holds even for specific kinds of networks such as networks modeled by unit disk graphs and highly connected graphs.