Normal,
Database value (UTC) > Display (UTC +8h) > Save (UTC -
> Same database value
You need to set up the admin timezone to UTC if you want to save the same hour/time.
Even for the dates it is important don't you think ? If a user is in the opposite of the globe what do you prefer with dates ?
It was the previous version which was wrong. Now everything is correct, but in your dataset you might have to reset the hours maybe.
Another possibility is to configure the SERVER_UTC to +8 Because the server itself can be different than UTC.
The most important is that you choose wich UTC you want to reffer the times, and then to always do the conversions at READ / WRITE.
You say : The time is always reduced by 8hrs when you save.
What time is displayed ? the USER_UTC, or the Database value ?
I did the tests with SERVER_UTC = UTC, maybe I should test to change the SERVER_UTC reference.
I am gonna test your project.