I know two reasons for hardware time being inaccurate: - bad battery - NTP running and system time not being synced to the realtime clock
Run "hwclock --systohc" as root to fix the second issue. /proc/driver/rtc has a batt_status line that might show if the first issue occurs. None of my systems have RTC battery problems, most using Parabola had system clock not synchronized to hardware. I think BIOSes have no UTC time setting, the time specified is in UTC and operating systems have settings for UTC or local time. UTC is probably default here, Windows (at least old versions) used local time. The time in /proc/driver/rtc and BIOS should be UTC if UTC is used. I don't believe timezone differences could make a multiyear error. If you use NTP and always have network access, the real time clock isn't needed.
pgpCUa1FNkkXh.pgp
Description: PGP signature