Tag: 日期范围

如何在C#的日期范围内获得所有周末

我只是想知道是否有一个简单的方法或框架来使所有周末在C#的日期范围内? 是否可以使用LINQ? 任何线索? 谢谢!

c#检查时间跨度范围是否在时间范围和小时之间

假设我有3个时间范围: 07:00 – 18:00 18:00 – 23:00 23:00 – 07:00 和代码: public class TimeShift { public TimeSpan Start { get; set; } public TimeSpan End { get; set; } } List shifts = new List(); 如何检查列表中的每个项目是否在上述3个范围和多少小时之间? 例如一个TimeShift ,其中: Start: 07:00 End: 23:30 那意味着16.5小时。 对于上面的例子: Range 1: 11 hours Range 2: 5 hours Range 3: 0.5 […]

如何确定重叠日期范围的最大数量?

这个问题可能类似于: 确定两个日期范围是否重叠 重叠的多个日期范围比较:如何有效地进行? 但是,如何获得重叠日期范围的最大数量? (最好是在C#中) 示例:(从 – 到) 01/01/2012 – 10/01/2012 03/01/2012 – 08/01/2012 09/01/2012 – 15/01/2012 11/01/2012 – 20/01/2012 12/01/2012 – 14/01/2012 结果= 3个最大重叠日期范围 解决方案 :可能实现@AakashM提出的解决方案 List<Tuple> myTupleList = new List<Tuple>(); foreach (DataRow row in objDS.Tables[0].Rows) // objDS is a DataSet with the date ranges { var myTupleFrom = new Tuple(DateTime.Parse(row[“start_time”].ToString()), 1); var myTupleTo […]

自特定日期起C#秒

在C#3.0中,如何获得自2010年1月1日以来的秒数?

使用带有容差的IEqualityComparer GetHashCode

我正在尝试实现一个对日期比较具有容差的IEqualityComparer 。 我也研究了这个问题 。 问题是我无法使用变通方法,因为我在LINQ .GroupJoin()使用IEqualityComparer 。 我尝试了一些允许容忍的实现。 我可以让Equals()工作,因为我有两个对象,但我无法弄清楚如何实现GetHashCode() 。 我最好的尝试看起来像这样: public class ThingWithDateComparer : IEqualityComparer { private readonly int _daysToAdd; public ThingWithDateComparer(int daysToAdd) { _daysToAdd = daysToAdd; } public int GetHashCode(IThingWithDate obj) { unchecked { var hash = 17; hash = hash * 23 + obj.BirthDate.AddDays(_daysToAdd).GetHashCode(); return hash; } } public bool Equals(IThingWithDate x, […]