Many moons ago we built a Ethernet enabled clock that got it’s time updates from a Internet NTP Server. We have updated that project for WiFi,and added a rechargeable battery that can be recharged with a USB cable.
Now just need to add alarm and snooze functions! Review this project, and many more of our Instructables at http://www.instructables.com/id/Arduino-Internet-Time-Client/step10/WiFi-Rechargeable-Version/
This project uses a Arduino UNO, a Arduino WiFi shield, a Adafruit Powerboost 500 Lithium battery shield, and a Adafruit RGB I2C LCD Keypad shield. Code and libraries for both versions of the clock found at Instructables.