No, there's no magical LINQ method to call that I'm aware of. The Enumerable.Range() method only uses integers.
I'm pretty sure that the Range() method just uses a loop with yield return underneath the sheets. I don't believe there's any other way around it. As such, something as simple as this should suffice. You can add similar methods to create ranges by whatever unit of time you want.
public class DateTimeEnumerable
{
public static IEnumerable<DateTime> RangeDays(DateTime startDate, DateTime endDate)
{
DateTime currentDate = startDate;
while (currentDate < endDate)
{
currentDate = currentDate.AddDays(1);
yield return currentDate;
}
}
}