As I understand it, an add-on clock chip might be best assuming it is going to maintain accuracy, whereas some sort of internet based clock solution would obviously need a network connection. A gps based solution might work if only I knew anything about gps!
A GPS-based solution would need a "GPS mouse" which is basically a small puck containing the GPS receiver, that can be connected to a computer via a USB cable. The Pi would probably handle it automatically, and it would likely appear as a serial port to you - from which you periodically receive strings with location and time (if the GPS got a fix), similar to the one below:
RMC Recommended Minimum sentence C
123519 Fix taken at 12:35:19 UTC
A Status A=active or V=Void.
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
022.4 Speed over the ground in knots
084.4 Track angle in degrees True
230394 Date - 23rd of March 1994
003.1,W Magnetic Variation
*6A The checksum data, always begins with *
It has the advantage of not needing to ever be initialized thus working "out of the box" without special batteries and even after a complete power failure (and it might be fun to get accustomed with as a technology) but it's definitely not the cheaper solution (one can buy about half a fistful of RTC chips for the price of a GPS-receiver - anywhere from $40 to $90)
Bluenext USB GPS receivers, was £17 from EBay. Still trying to get it working on the Pi but works fine in Ubuntu.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Please direct all questions to the forum, I do not do support via PM.