날짜 두 개의를 간격을 원하는 시간으로 쪼개어 인터벌을 만들어주는 함수
/// <summary>
/// 날짜 두 개의 차이에 대해서 원하는 시간만큼의 인터벌로 쪼개어줌.
/// </summary>
/// <param name="from">시작날짜</param>
/// <param name="thru">끝날짜</param>
/// <param name="span">간격</param>
/// <param name="isHours">시간인지, 아니면 분인지</param>
/// <returns></returns>
public static IEnumerable<DateTime> EachHour(DateTime from, DateTime thru, int span, bool isHours)
{
if (isHours)
{
for (var hour = from.Date; hour.Date <= thru.Date; hour = hour.AddHours(span))
yield return hour;
}
else
{
for (var minutes = from.Date; minutes.Date <= thru.Date; minutes = minutes.AddMinutes(span))
yield return minutes;
}
}
사용은 아래와 같이 한다.
//총 해석 시간을 구한다.
DateTime sDate = Convert.ToDateTime(Program.argsList["st"]);
DateTime eDate = Convert.ToDateTime(Program.argsList["et"]);
var intervalTime = Util.EachHour(sDate, eDate, 1, true);