Here's a silly issue but it took me quite some time to figure out.
So if you are in China and use Asia/Shanghai as your system timezone, when you do "show variables like "%time_zone%";" in the database you will see the system_time_zone is set to CST (China standard time).
But appearently in OSticket, CST is interpreted as America/Chicago timezone - I'm guessing Central Standard Time of U.S.? This caused all my ticket time to be hours ahead of the real time in China.
I changed the system timezone to Asia/HongKong (which is the same +8:00 as Asia/Shanghai) and the timezone in the DB changed to HKT, and this is interpreted correctly without any issues.
Versions: osTicket 1.14.1 MariaDB 10.4.11 php 4.2.24
Not something that needs to be fixed urgently, but could be painful if you don't know what went wrong...
Thanks,
C