using System.Collections.Generic;
using System.Text.RegularExpressions;
public static void Main()
var a = DateTime.Parse("2022/11/01");
var b = DateTime.Parse("2023/01/03");
var tmp1 = ( from r in Enumerable.Range(0, (b-a).Days+1)
let startDate = a.AddDays(r)
var tmp1c = (from r in tmp1
Rangs = G.Select((data, index) => new { idx=index, startDate=data.startDate }).ToList()
var tmp2c = (from r in tmp1c
RangeList = ( (from x in ( from r2 in r.Rangs
startDate = r2.startDate,
let startDate = G2.Select(o=>o.startDate).ToList()[0]
let endDate = G2.Select(o=>o.startDate).ToList().Count> 1 ? G2.Select(o=>o.startDate).ToList()[1] :startDate
select new { startDate,endDate } ).ToList()
var tmp3c = tmp2c.SelectMany(o=>o.RangeList);
Console.WriteLine($"{JsonConvert.SerializeObject(tmp3c, Formatting.Indented)}");
public string KEY1 {get;set;}
public string KEY2 {get;set;}