As is always the case, after pulling my hair out for weeks and finally asking the forums for guidence I have solved my own problem within hours.....
the timeconditions modul pulls its time from PHP. The installer does not properly set up PHP with the timezone info. This is a 10-year-old issue. I found people on the freepbx forums talking about it and Admins saying even thow its broken, the code is right, so we are not going to fix it......WTF. I have tested this on many systems and platforms, both physical and virtual. This affects every install.
Now to the good part. the fix.
On a single system, the easiest fix is to change your timezone under System> Preferences>date/time to something wrong....apply, reboot, and go right back and set it to what you want, apply, reeboot and it will write the correct file. (/etc/php.d/timezone.ini)
If you are like me and have hundreds of systems to update, or just can't have any downtime.
Sftp to your server and in /etc/php.d/ you will need to create a file called timezone.ini. In the file, set your timezone (date.timezone='America/Los_Angeles')
reload PHP:
service php-fpm restart
Time groups and cdr reports are now in your timezone.
We copied and pasted the same file to all our servers and ran the phph restart command.