I’m not sure how practical this would be as an implementation, but the question intrigued me, so I’ve been thinking…
GPS works separately to a data connection, and relies on knowing where 3 satellites are and the distance you are from them both. It has to do this accurately in order to pin point you on the planet. Thus, it should be theoretically possible to compare GPS data with some kind of pre-coded list of where the GPS satellites were at a specific time, and some kind of a fancy algorithm that factors in their current location, their route of orbit, and that pre-coded list.
If I’m right, then you’d be able to use the GPS satellites current location to fairly accurately figure out the current time.