使用 TimeOnly 结构的日期时间计算

DateTime calculations with TimeOnly struct

首先,我喜欢单独的 TimeOnly and DateOnly 结构的想法,它在 .NET 6 中可用,并允许更清晰地使用 System.DateTime.

我想知道:是否可以使用 DateTime 进行计算,例如仅限时间?

DateTime result = DateTime.Parse("2021-01-01 10:00") - TimeOnly.Parse("10:00");
// result == DateTime.Parse("2021-01-01")?

这有意义吗?

- 没有采用 DateTimeTimeOnly 的重载。但是,TimeOnly 有一个 .ToTimeSpan() 方法,所以你可以这样做:

DateTime result = DateTime.Parse("10:00") - TimeOnly.Parse("10:00").ToTimeSpan();