我有6个日期,分别是:2018-07-21、2018-08-13、2018-08-30、2018-9-02、2018-09-28、2018-11-02我需要提取出时间间隔最小的两个日期,也就是上面这几个日期我需要提取出:2018-08-30、2018-9-02请问怎么做?
1 回答

长风秋雁
TA贡献1757条经验 获得超7个赞
趁着排序顺便算一下更省事
var dtStart;var dtEnd;var tmDelta = -1; ['2018-07-21','2018-08-13','2018-08-30','2018-9-02','2018-09-28','2018-11-02'].sort(function($a, $b){ var tmA = (new Date($a)).getTime(); var tmB = (new Date($b)).getTime(); var delta = Math.abs(tmA - tmB); if(tmDelta == -1 || delta > tmDelta) { tmDelta = delta; dtStart = $a; dtEnd = $b; } return tmA - tmB; }) console.log(dtStart, dtEnd)
添加回答
举报
0/150
提交
取消