A bit more info for those who don't like too much light reading... The week number was mostly there to help cache ephemeris data and two bits would have been enough for that use. Each sat transmits a message roughly like "sat 1 is in virgo, sat 2 is near the moon,..." that should be discarded after a week. Each sat also sends a much more detailed message along the line of "I'm supposed to be in this orbit but I'm wobbling just a bit about this axis and this axis and this one and this one" as well as the most important one "at the tone the time will be ....". The wobble takes into account tides and how the sats are moving because of Jupiter, Sun and Moon and are a 9th order polar coordinate polynomial for those who want nightmares about complex formulas. The rough message is enough to locate them to a degree, the precision message is good enough to place them within a few meters at a given time. Modern GPS receivers know their time and calculate the "pseudo-range" to each sat it can see down to a wavelength (20 cm) or better. That is the basis for differential GPS where a different GPS receiver can send a signal saying "that sat 31 which is about 15 above the horizon is lying by 45.22322 meters". The receiver needs to have its time synchronized down to about 90 nanoseconds to even get a reasonable position fix. Its very impressive that its doing that with signals at very low baud rates and used to be broadcast at about 55 watts.
Long before the week rollover came up the first time, there was a proposal to occasionally send the full date and time in a different packet that could be added where it wouldn't interfere with normal operations. There were uses of the extra messages for military and now aviation differential signals.