【问题标题】:How to get only the time difference, ignoring the date difference, between two DateTimeOffset in C#?如何仅获取 C# 中两个 DateTimeOffset 之间的时间差,而忽略日期差?
【发布时间】:2021-08-30 06:03:19
【问题描述】:

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

【问题讨论】:

  • 不同之处已经是 TimeSpan,您可以使用 TotalMinutes 或 Hours 等。endDate - startDate = TimeSpan。 docs.microsoft.com/en-us/dotnet/api/…
  • 以后,请附上您尝试过的代码。

标签: c# .net-core time datetimeoffset date-difference


【解决方案1】:

听起来你在找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 转换为您想要的任何单位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多