Android gets its time from an ntp server once network is available. It also uses the carrier networks to determine time (ntiz). After Android 12 ntp takes precedence over ntiz.
So either the carrier is at issue - then removing the sim card could maybe leave the ntp time untouched, or something is at issue with ntp. But the latter is hard to believe. For this to happen the “ntp.pool.org” address would resolve for you locally to a dysfunctional ntp server. This pool address is replacing the Google Android default value “time.android.com” (in framework base).
Can you install “NTPSync” and press the upper button and check if the response is proper? it uses the ntp.pool.org and should be able to reproduce the time issue.
When you first start up a clean installation of /e/OS or other LineageOS-based ROMs, the date is set to the date that the ROM was built. You can see that on one of the early pages of the first-time setup app. If you never connect to a network, then the system will base its date on that
I’m still perplexed about this. I connected to a WiFi and ‘used network-provided time’, restarted phone a couple of times… each restart it reverts back to wrong date, and then corrects itself to the network date. Is this normal? It needs to fetch the date every single restart?
At least not many people see it that way, given that you are the first to mention it in this forum, and I;ve not seen many (any?) complaints about it in other custom ROM forums. (This is standard Android behaviour, not specific to /e/OS)
ntp is as much an issue as the connectivity check for people that prefer absolute network silence - the CC has been debated in this forum before. As you do not send identifiers that can be tracked, it has more use (correct time) than downsides
Automatic time detection receives time suggestions from various sources, selects the best option, and then sets the system clock in Android to match. Previous Android releases provided two ways to set date and time — either manually set per user or by automatic time detection, set by one of these two options:
telephony uses Network Identity and Time Zone (NITZ) telephony signals.
network uses Network Time Protocol (NTP) time servers.
Each option requires connections to external networks, which aren’t always available in Android Automotive. For example, in some countries, some cars may not have built-in telephony. Therefore, Global Satellite Navigation Systems (GNSS) time is now also provided as a source of system time for you to use when network connectivity is unavailable.
This upcoming Android release provides two more options to automatically detect and set time:
gnss uses Global Satellite Navigation Systems (GNSS).