为了账号安全,请及时绑定邮箱和手机立即绑定

请教一个最小时间差的算法

请教一个最小时间差的算法

ITMISS 2018-12-09 20:29:23
我有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)


查看完整回答
反对 回复 2018-12-09
  • 1 回答
  • 0 关注
  • 471 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号