我们将每个用户的时区保存为该时区的ID。
问题是,每当TZDATA软件包更新时,IDS都会发生更改,并且会更改用户保存的时区。
有什么方法可以确保用户保存的时区将始终保持一致?
谢谢!
问题的原因是程序员认为,将可用时区的列表视为固定列表,并将用户的时代作为时机位置存储在固定列表中列表。
,即,如果欧洲/柏林曾在时区列表中处于100位,那么这是DB中用户将存储的数字。但是,如果包装tzdata已使用新时区进行了更新,则在100位置,您将罚款欧洲/贝尔格莱德,用户将有效地定义了错误的时区。
解决方案是将存储的所有旧ID号转换为显示为时区的相关真实字符串。这样,当Tzdata接下来要更新时,用户将保留其当前时区。