我在一个需要存储用户时区信息的大型项目上工作。我们通过将System.TimeZone对象的'Id'作为字符串(是的,ID实际上是一个字符串..)持久化到数据库来这样做。是否在每个Windows系统上都有“UTC”时区?
此外,还有一个基本种子脚本,它将一个管理用户添加到数据库以提供第一个用户来设置。
现在我的问题是,我设置在该脚本的时间区域ID 中欧标准时间,然后似乎没有可用的客户服务器上..
这是个好主意将UTC作为管理员的时区存储?时区信息“UTC”在Windows系统上始终可用? (如在Windows Server 2012 R2)
_“将System.TimeZone对象的'Id'置换为字符串”_ - 这是什么意思?当一个“排列”一些“作为一个字符串”的价值时,那是什么?就存储时区而言,由于每个系统都有“DateTime.UtcNow”(例如),因此UTC在每个系统上都有_better_可用。事实上,将日期/时间值存储为UTC确实是最好的方法;如果存在模糊的值,框架错误等,则很容易陷入困境。在内部使用UTC时,在显示值时(与其他本地化数据相同),根据需要转换为用户的首选时区。 –
@PeterDuniho我们不排列日期时间对象,我们存储用户的时区。看起来有点奇怪,但有一个TimeZone'UTC',代表时区'格林威治标准时间'。我们存储System.TimeZone对象的'Id'属性,在我的情况下,它是'UTC'。 –
_“我们不排列日期时间对象_” - 从来没有说过你做过。但_you_写道,你_do_“排列System.TimeZone对象的'Id'。根本不清楚这意味着什么。 –