我正在绘制柱形图。其中x轴是日期类型
即
日 - 以小时为单位绘制
周 - 以天计划
月 - 在周内绘制
每半年一次 - 在周内绘制
每年 - 以月为单位绘制
我有一个如下的逻辑用于绘制天数图
for (DateTime graphStartDate = startDate; graphStartDate < endDate; graphStartDate = graphStartDate.AddHours(1))
例如,这是我的开始日期和结束日期10/10/2013 12:00:00 AM
,10/10/2013 9:32:00 PM
。上面的代码只会将图表提取到9:00 PM
,但不会超过30分钟(这也是需要考虑的)。我如何编写一个循环,也将其包含在计算中。
这也必须实施数周,因为我将会+7
天,我有可能会在1 - 6
天之后离开,这对最终用户来说是宝贵的信息
答案 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