Thanks for the update, DennisD. I remember this issue has been around for some time and I am a bit surprised that it hasn't been fixed yet. Perhaps it's priority is not very high...
It seems that there are multiple ways for apps to obtain the uptime. The Android API has a method that returns "milliseconds since boot, including time spent in sleep":
https://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtime()
If CCleaner for Android is written in C, I think it can use the Linux system call sysinfo() to obtain the uptime:
struct sysinfo {
long uptime; /* Seconds since boot */
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* Swap space still available */
unsigned short procs; /* Number of current processes */
unsigned long totalhigh; /* Total high memory size */
unsigned long freehigh; /* Available high memory size */
unsigned int mem_unit; /* Memory unit size in bytes */
char _f[20-2*sizeof(long)-sizeof(int)];
/* Padding to 64 bytes */
};