1

我们有一个安排约会的系统,总部设在英国。项目经理使用它来安排英国员工和澳大利亚员工的约会。

PM 将在周一上午 9 点的日程表中进行预约,但这与地点无关;即,当英国工作人员看到它时,他/她将其阅读为英国时间上午 9 点,而当澳大利亚工作人员阅读它时,他们将其阅读为澳大利亚时间上午 9 点。

我编写了一个 Outlook 插件来显示这些预订并允许选择它们。问题是当插件在澳大利亚运行时,它会看到日期时间来自英国并添加了时差。因此,澳大利亚员工的任命在不应该的时候被抵消了。

我正在使用 Infragistics Schedule 控件,想知道最好的方法是确保上午 9 点的约会在所有地点都显示为上午 9 点并且不应用偏移量?

谢谢, 德拉米

4

1 回答 1

1

对我来说,最好的方法是始终在代码中的任何地方使用 UTC 日期时间。只有在显示时,您才能切换(或不切换)到合适的时区。

http://msdn.microsoft.com/en-us/library/system.datetime.aspx

使用 DateTimeKind 枚举 ( http://msdn.microsoft.com/en-us/library/shx7s921.aspx )定义区域设置/UTC

始终使用 DateTime.ToUniversalTime() 以获取 UTC 中的 DateTime ( http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime.aspx )

(当然 ToLocalTime() 也存在)。

您应该进行一些测试以检查一切是否符合预期。

于 2012-08-13T14:08:04.103 回答