首页 > 解决方案 > 如何仅获取 C# 中两个 DateTimeOffset 之间的时间差,而忽略日期差?

问题描述

我正在使用 c#,我需要得到两个 DateTimeOffset() 之间的差异,忽略年、月和日,这意味着获得小时、分钟和秒之间的差异。假设这是我的开始日期"startDate": "2021-08-28T13:30:00+00:00",这是本示例的结束日期"endDate": "2021-08-30T13:45:00+00:00",我希望结果为 15。

标签: c#.net-coretimedatetimeoffsetdate-difference

解决方案


听起来您正在寻找DateTimeOffset.TimeOfDay

当前日期自午夜以来经过的时间间隔。

var dto1 = DateTimeOffset.Parse("2021-08-28T13:30:00+00:00");
var dto2 = DateTimeOffset.Parse("2021-08-30T13:45:00+00:00");
var diff = dto2.TimeOfDay.Subtract(dto1.TimeOfDay);

将结果转换为TimeSpan您想要的任何单位。


推荐阅读