setting the clock in the player’s room sets it back to 1/1/2000
That's normal, consider that the first pokemon games with a clock (G/S/C) use a proprietary chip (the MBC3) which only thinks in terms of second/minute/hour/number of days (so no date per se); R/S/E use a relatively more standard Seiko clock - but the games don't care for the date, so they just set the first day possible and convert between date and number of days internally (which, coming from
the company that doesn't know how to do multiplication with carry, got this wrong too)
That said, if in this order you:
- replaced the battery
- checked that power is getting to the chip (there are useful testpoints on the back)
- started a new game, set the clock the normal way, and saved
- turned it off a couple minutes, and now it's incorrect
there may be bigger (hardware) problems...
Best clock reset for the Hoenn games is the official one, you can use PkHeX to enable it then use it this way:
https://tcrf.net/Pokémon_Ruby_and_Sapphire#In-Game_Clock_Adjustment
In general you shouldn't care too much about what the hardware clock is set to (and emulators/flashcards that insist it to match real time are not very accurate, even though it usually works fine)