I have a set of time data (such as data) and want to cut it into time intervals to display in TimelinePlot. I hope the answer is like out. How can I do it?
data =(DateObject@# & /@ #) & /@ {{{2019, 8, 29, 8, 30, 0.`}, {2019, 8, 29, 9, 0, 0.`}}, {{2019, 8, 29, 15, 0, 0.`}, {2019, 8, 29, 15, 30, 0.`}}, {{2019, 8, 29, 15, 30, 0.`}, {2019, 8, 29, 16, 0, 0.`}}, {{2019, 8, 29, 16, 0, 0.`}, {2019, 8, 29, 16, 30, 0.`}}, {{2019, 8, 29, 16, 30, 0.`}, {2019, 8, 29, 17, 0, 0.`}}, {{2019, 8, 30, 0, 0, 0.`}, {2019, 8, 30, 0, 30, 0.`}}, {{2019, 8, 30, 0, 30, 0.`}, {2019, 8, 30, 1, 0, 0.`}}, {{2019, 8, 30, 1, 0, 0.`}, {2019, 8, 30, 1, 30, 0.`}}, {{2019, 8, 30, 1, 30, 0.`}, {2019, 8, 30, 2, 0, 0.`}}, {{2019, 8, 30, 2, 0, 0.`}, {2019, 8, 30, 2, 30, 0.`}}, {{2019, 8, 30, 2, 30, 0.`}, {2019, 8, 30, 3, 0, 0.`}}, {{2019, 8, 30, 3, 0, 0.`}, {2019, 8, 30, 3, 30, 0.`}}, {{2019, 8, 30, 3, 30, 0.`}, {2019, 8, 30, 4, 0, 0.`}}, {{2019, 8, 30, 4, 0, 0.`}, {2019, 8, 30, 4, 30, 0.`}}, {{2019, 8, 30, 4, 30, 0.`}, {2019, 8, 30, 5, 0, 0.`}}, {{2019, 8, 30, 5, 0, 0.`}, {2019, 8, 30, 5, 30, 0.`}}, {{2019, 8, 30, 5, 30, 0.`}, {2019, 8, 30, 6, 0, 0.`}}, {{2019, 8, 30, 6, 0, 0.`}, {2019, 8, 30, 6, 30, 0.`}}, {{2019, 8, 30, 6, 30, 0.`}, {2019, 8, 30, 7, 0, 0.`}}, {{2019, 8, 30, 7, 0, 0.`}, {2019, 8, 30, 7, 30, 0.`}}, {{2019, 8, 30, 7, 30, 0.`}, {2019, 8, 30, 8, 0, 0.`}}, {{2019, 8, 30, 8, 0, 0.`}, {2019, 8, 30, 8, 30, 0.`}}}// Flatten // Union;
out =(DateObject[#] & /@ #) & /@ {{{2019, 8, 29, 8, 30, 0.`}, {2019, 8, 29, 9, 0, 0.`}}, {{2019, 8, 29, 15, 0, 0.`}, {2019, 8, 29, 17, 0, 0.`}}, {{2019, 8, 30, 0, 0, 0.`}, {2019, 8, 30, 8, 30, 0.`}}};