C#每小时包括时间

时间:2013-09-18 05:30:41

标签: c# datetime foreach logic

我正在绘制柱形图。其中x轴是日期类型

日 - 以小时为单位绘制

周 - 以天计划

月 - 在周内绘制

每半年一次 - 在周内绘制

每年 - 以月为单位绘制

我有一个如下的逻辑用于绘制天数图

for (DateTime graphStartDate = startDate; graphStartDate < endDate; graphStartDate = graphStartDate.AddHours(1))

例如,这是我的开始日期和结束日期10/10/2013 12:00:00 AM10/10/2013 9:32:00 PM。上面的代码只会将图表提取到9:00 PM,但不会超过30分钟(这也是需要考虑的)。我如何编写一个循环,也将其包含在计算中。 这也必须实施数周,因为我将会+7天,我有可能会在1 - 6天之后离开,这对最终用户来说是宝贵的信息

1 个答案:

答案 0 :(得分:1)

将结束日期舍入到下一个小时/日/月

实施例

DateTime dt = DateTime.Now;
Console.WriteLine(dt);
//hour
Console.WriteLine(dt.AddMinutes(60 - dt.Minute));
//day
Console.WriteLine(dt.AddHours(24 - dt.Hour));
//week
Console.WriteLine(dt.AddDays(7-(int)dt.DayOfWeek));
//month
Console.WriteLine(dt.AddDays(DateTime.DaysInMonth(dt.Year,dt.Month)-dt.Day));

留意DayLight Savings