When moving from MySQL to GBase 8c, the China-domestically developed database from GBASE, time zone configuration can surprise you. What works perfectly in MySQL may yield results off by 16 hours in GBase 8c — all because of a simple sign reversal. This article reproduces the issue, walks through the diagnosis, and gives you two clean solutions to keep your timestamps accurate in a gbase database environment. The Problem MySQL offers two common ways to set the time zone: -- Offset notation SET time_zone = '+08:00' ; -- Named time zone SET time_zone = 'Asia/Shanghai' ; Enter fullscreen mode Exit fullscreen mode Both work as expected. Applying the same approach in GBase 8c, however, produces unexpected behavior: swjtdb =# show timezone ; TimeZone ---------- PRC ( 1 row ) swjtdb =# select now (); now () --------------------- 2025 - 10 - 19 22 : 23 : 18 swjtdb =# SET timezone = '+08:00' ; SET swjtdb =# select now (); now () --------------------- 2025 - 10 - 19 06 : 23 : 39 .…