Then you cannot rely on Ignition to automatically handle this for you. You should still always record and transfer timestamps in UTC.
Provide your users with some timezone session custom property, or pass the appropriate timezone id's as part of your machine information, but keep track of what timezone you need at any point in your GUI. Then use the techniques in this post to display timestamps in any desired timezone (instead of session.props.timezoneId):
I think you're missing an important point in Phil's advice: keep the datetime as UTC and only convert where you need to display it.
Pass the original datetime returned by your database, which should be UTC if you listened to Phil, do the things you need to do with it, and then, as a last operation before it's displayed, convert it to a string, using whatever timezone should be used for this particular date.
At the moment I need to write in the DB the values with the timezone not in UTC because I have to continue with the same standard as is still working in this moment.
The same advice applies, except you'll use the zonedFormat function Phil provided when you need to display the date. You'll just have to keep track of what zone the date is in, which pretty much means "retrieve it from the db when pulling the data, and pass it along whenever you're passing the datetime"