我有一个要求,让管理员用户通过一个管理网站添加会议。管理员用户将输入会议名称、描述和会议时间,以及时区(仅适用于US - EST/CST/PST)。然后将其显示在公共网站上供客户使用。我需要能够显示与他们的正确时间的会议列表。
我正在考虑将日期时间(1/1/2012 8:00 AM和时区(EST=0) )存储在会议表的数据库中。
有没有其他方法可以做到这一点?
发布于 2011-12-17 03:23:16
在SqlServer中使用UTC。然后捕获用户在网站上的时间(首选项表或其他),然后当您显示会议请求时,获取UTC时间并将其转换为本地时间。
这将比存储创建会议的时区更好,因为您必须转换时区(例如,EST到MDT)。
另一个问题是,如果你存储时区,你将不得不知道它是否是夏令时(美国东部时间或美国东部时间),然后转换为美国东部夏令时或美国东部时间等。如果你存储为协调时,然后在你的服务器上使用它,在datetime对象上使用Kind = UTC,如果需要基于东部夏令时或时区等进行转换,.NET可以处理。
发布于 2011-12-17 03:23:53
如果您想要从用户输入数据的那一刻起捕获本地用户的时区,请使用如下代码。
string CurrentTimeZoneAbbreviation = System.TimeZoneInfo.Local.Abbreviation(); https://stackoverflow.com/questions/8539051
复制相似问题