获取对象中的最小和最大日期

时间:2017-03-18 05:30:00

标签: javascript

我给了这个对象

keepalive_time,我怎样才能获得最小日期和最长日期?我也需要这个范围。我做的是

{"2017-1-1":true,"2017-1-2":true,"2017-1-3":true}

我认为这是糟糕的代码。还有更好的选择吗?

2 个答案:

答案 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 docsArray.map function docs以防万一。