几个月前,我接触到了新的 DateTimeOffset 类型,很高兴 DateTime 在时区方面的缺陷终于得到解决。

但是,我想知道使用这种新类型是否会产生任何开销或问题。

我在一个多语言环境的 Web 应用程序上工作。有没有人知道有什么事情会影响我只在我所有的日期/时间工作中使用它?这里有滥用的窗口吗?

引用:DateTimeOffset: A New DateTime Structure in .NET 3.5 by Justin Van Patten

最佳答案

有时您真的只想表示一个“本地”(不知道时区)的日期和时间,而不是一个瞬间。老实说,表示时间通常更有用 - 例如“不管时区如何,早上 8 点叫我起床”——但日期和时间也可能有用。

我同意对于绝大多数情况, DateTimeOffset 更合适。确实让我感到奇怪的是,没有 DateTimeTimeZone 结构同时具有即时和时区……偏移实际上并没有为您提供所需的所有信息。 (例如,给定 DateTimeOffset ,您不知道 24 小时后的时间,因为您不知道 DST 何时开始。)

如果你想要那种结构,我有一个 very crude implementation in another answer 。我相信它可以很容易地改进:)

关于.net - 什么时候你更喜欢 DateTime 而不是 DateTimeOffset,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/264617/

10-13 06:55