我给了这个对象
keepalive_time
,我怎样才能获得最小日期和最长日期?我也需要这个范围。我做的是
{"2017-1-1":true,"2017-1-2":true,"2017-1-3":true}
我认为这是糟糕的代码。还有更好的选择吗?
答案 0 :(得分:0)
创建表示范围中第一个和最后一个日期的DateTime对象。
DateTime projectStart = new DateTime(2001, 2, 13);
DateTime projectEnd = new DateTime(2001, 2, 28);
设置SelectionRange属性。
monthCalendar1.SelectionRange = new SelectionRange(projectStart, projectEnd);
-OR -
设置SelectionStart和SelectionEnd属性。
monthCalendar1.SelectionStart = projectStart;
monthCalendar1.SelectionEnd = projectEnd;
答案 1 :(得分:0)
您可以执行以下操作:
const obj = {
"2017-1-1":true,
"2017-1-2":true,
"2017-1-3":true
};
/* we get the time in ms here, so we can use it to compare */
const dates = Object.keys(obj).map(date => new Date(date).getTime());
/* we could use one loop and check each value to
make this a little bit more performant but I didn't find it relevant here */
const minDate = new Date(Math.min(...dates));
const maxDate = new Date(Math.max(...dates));
请查看Date docs和Array.map function docs以防万一。