C# 获取两个 datetime 对象之间的每两个小时

标签 c# .net datetime

我想获取两个日期时间对象之间每两小时的列表

以下是我每隔一小时尝试过的内容:

TimeSpan betweenTime = EndTime - StartTime; // 15:00PM - 09:00AM 
IEnumerable<int> hoursBetween = Enumerable.Range(0, (int)betweenTime.TotalHours).Select(i => StartTime.AddHours(i).Hour);   

//Output for hoursBetween
9
10
11
12  
13
14

//if between is every two hour
//the expected Output be like
9
11
13

最佳答案

你可以使用

IEnumerable<int> hoursBetween = Enumerable.Range(0, (int)Math.Ceiling(betweenTime.TotalHours / 2)).Select(i => StartTime.AddHours(i * 2).Hour); 

关于C# 获取两个 datetime 对象之间的每两个小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59259736/

相关文章:

c# - 如何在不将整个 DLL 复制到内存的情况下读取 DLL 插件中的 MEF 元数据?

c# - AppDomain.CurrentDomain.DomainUnload 不会在控制台应用程序中引发

.net - MVVM 设计考虑

linux - Perl DateTime::Locale::en 错误

c# - 在 C# 中,什么时候对象符合垃圾回收条件?

c# - 如何让Serilog丰富日志

MySQL 选择指定日期在开始日期和结束日期之间的行

c# - 更改日期格式

c# - 如何编辑列表中的重复项?

c# - 对于 64 位架构上的算术,.NET 是否将 Int32 提升为 Int64?