0

在 Visual Studio 设置框中,可以创建 TimeSpan 类型的设置。我正在尝试将其默认设置为 >=24 小时。令人讨厌的行为是:

23:00:00等于 23 小时(与 TimeSpan.Parse 相同)

24:00:00等于 768 小时(= 24 天)(与 TimeSpan.Parse 相同)

如果我进入1:0:0:0Visual Studio 将此值更改为 1.0:0:0 等于 1 小时(TimeSpan.Parse 等于 24 小时,这是我想要的)

TimeSpan 类型很好,因为它允许强制执行类型安全,并且用户能够编辑更好看的表示(尽管由于23:00:00/24:00:00行为可能更令人困惑,这对我来说有点违反直觉),但我看不出如何这样做并允许 >= 24 小时时间跨度

4

2 回答 2

4

我认为您正在查看错误的属性 -Hours是一天中的几个小时,而您似乎对TotalHours. 即您按预期提供 24 小时(1 天)的样品:

TimeSpan.Parse("1.00:00:00").TotalHours == 24
TimeSpan.Parse("2.01:00:00").TotalHours == 49
于 2012-11-26T01:27:43.880 回答
1

为什么不自己解析然后调用TimeSpan构造函数。日、小时、分钟、秒和毫秒存在过载。

于 2012-11-26T01:23:56.840 回答