在lua中使用os.time的时区问题

最近做项目发现在Lua中使用os.time把服务器时间转换为时间戳时,如果修改小时的话会导致在U3D中打出的包如安卓、PC上时区和服务器时区对不上。

比如服务器时间是2020年3月22日12时30分,服务器使用的是中国北京时区, serverTime 传到客户端后,假如客户端时区调整为韩国首尔的时区,如果使用lua的 local a =os.date(“!*t”, serverTime) 转换为世界日期,然后再使用a.hour = 5,修改小时后,再使用 os.time(a) 转换为时间戳,此时的时间戳在安卓包和PC包上将不会是 世界时间的时间戳,而是本地时间的时间戳,因为你中间修改过小时数,但是在U3D编辑器中运行却是正常的。如果你中间没有修改过小时数,那么转换是正常的,这是一个很诡异的问题。