I have two Pi 3 running at the same time with my program being executed while both are plugged into a power source with current date and time and not connected to the Internet. Couple of days later I noticed that both pi's date and time drifted so much that it is behind by 1 or 2 days late and even the time is far off. Not only that my program, which is supposed to run 24/7, is shutdown. I am starting to think that is due date and time drifting. So, I would like to know what would cause pi system date and time to drift while it is plugged into a power source and not connected to the Internet.
If you shutdown the Pi, then restart it restores the time to that last saved, which it does periodically while running.
The "culprit" is
fake-hwclock, although this is better than the default, which would set the time to 1970.
The Pi is designed to set its time from the internet using
ntp - it has no RTC.
It is simple and cheap to add a RTC if you do want it to work without internet access.
dmesg -T | grep clock may give you some clue what the Pi is up to while booting.