My timezone is set to local time in Calgary and was showing properly. I tried to delete from IMAP one email. I got a blank screen so checked suitecrm.log. The log output went from local time to GMT time. Checking the log shows a few places where it switches back and forth between my local and GMT.
I do not recall this in previous versions. See the break in the following log about halfway down it jumps from 10:39 to 16:39.
PHP 8.2, v8.4.0-beta, ubuntu 20.04 LTS dedicated server, mariadb 10.6
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->Scheduler did NOT find valid job (Removal of documents from filesystem) for time GMT(2023-08-07 16:39:00)
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->Schedulers->deriveDBDateTimes() got an object of type: Scheduler
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * day
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * months
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->Scheduler did NOT find valid job (Prune SuiteCRM Feed Tables) for time GMT(2023-08-07 16:39:00)
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->Schedulers->deriveDBDateTimes() got an object of type: Scheduler
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * day
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * months
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * dates
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->got * hours
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] Constraints: start: 2015-01-01 08:45:01 from: 1970-01-01 00:00:00 end: 2023-08-08 16:39:02 to: 2023-08-08 16:39:02 now: 2023-08-07 16:39:01
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] ----->Scheduler did NOT find valid job (Google Calendar Sync) for time GMT(2023-08-07 16:39:00)
Mon Aug 7 10:39:01 2023 [99441][1][INFO] Get One: |SELECT id FROM job_queue WHERE execute_time <= '2023-08-07 16:39:01' AND status = 'queued' ORDER BY date_entered ASC|
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] Limit Query:SELECT id FROM job_queue WHERE execute_time <= '2023-08-07 16:39:01' AND status = 'queued' ORDER BY date_entered ASC Start: 0 count: 1
Mon Aug 7 10:39:01 2023 [99441][1][INFO] Query:SELECT id FROM job_queue WHERE execute_time <= '2023-08-07 16:39:01' AND status = 'queued' ORDER BY date_entered ASC LIMIT 0,1
Mon Aug 7 10:39:01 2023 [99441][1][INFO] Query Execution Time:0.00014495849609375
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] Hook called: ::server_round_trip
Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] Calling MySQLi::disconnect()
**Mon Aug 7 10:39:01 2023 [99441][1][DEBUG] Calling MySQLi::disconnect()**
**Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] current_language is: en_us**
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCachesMash
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheFile
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheMemory
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Using cache backend SugarCacheMemory, since 999 is less than 1000
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheZend
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheMemcached
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheAPC
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheMemcache
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheWincache
Mon Aug 7 16:39:14 2023 [2028][-none-][DEBUG] Found cache backend SugarCacheRedis
Mon Aug 7 16:39:14 2023 [2028][-none-][INFO] Found language file: en_us.lang.php
Mon Aug 7 16:39:14 2023 [2028][-none-][INFO] Found custom language file: en_us.lang.php
Mon Aug 7 16:39:14 2023 [2028][-none-][INFO] Query:SELECT id, name, symbol, conversion_rate FROM currencies WHERE status = 'Active' and deleted = 0
Mon Aug 7 16:39:14 2023 [2028][-none-][INFO] Query Execution Time:0.00018095970153809
Mon Aug 7 16:39:14 2023 [2028][-none-][INFO] Query:SELECT category, name, value FROM config