茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    js 判斷一組日期是否是連續(xù)的簡單實例
    來源:易賢網(wǎng) 閱讀:1959 次 日期:2016-07-28 16:25:13
    溫馨提示:易賢網(wǎng)小編為您整理了“js 判斷一組日期是否是連續(xù)的簡單實例”,方便廣大網(wǎng)友查閱!

    下面小編就為大家?guī)硪黄猨s 判斷一組日期是否是連續(xù)的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。

    問題需求

    給定5個相同格式的日期,怎么判斷是否是連續(xù)5天呢?

    我當時第一反應 getDay() 后排序,然后前后對比即可。。

    但是細想,完全不對,比如本周一下周二,這樣也會誤判。

    而且不僅僅這樣的問題,還要跨月,跨年,閏月等問題。

    然后就有了下面的代碼。

    讓時間戳抹平一切吧

    為了不糾結這些問題,我想到了時間戳,這貨就可以完全忽略上述問題了,只要處理時間戳,最后比較即可。

    然后我給了如下代碼:

    let days = [

     '2016-02-28',

     '2016-02-29', // 閏月

     '2016-03-01', // 跨月

     '2016-03-02',

     '2016-03-03',

    ]

    // 先排序,然后轉時間戳

    let _days = days.sort().map((d, i) => {

     let dt = new Date(d)

     dt.setDate(dt.getDate() + 4 - i) // 處理為相同日期

     return +dt

    })

    // 比較時間戳是否一致

    console.log(

     _days[0] == _days[1] &&

     _days[0] == _days[2] &&

     _days[0] == _days[3] &&

     _days[0] == _days[4]

    )

    ok 一切問題都解決掉了,跨年,跨月,閏月也都無所謂了。

    通用函數(shù)封裝

    上述代碼還是有點缺陷的,因為時分秒沒有處理,如果有時分秒,也要先抹去。

    let days = [

     '2016-02-28 12:00:00',

     '2016-02-29 12:00:01', // 閏月

     '2016-03-01 12:00:02', // 跨月

     '2016-03-02 12:00:03',

     '2016-03-03 12:00:04',

     '2016-03-04 12:00:04',

    ]

    console.log(continueDays(days))

    function continueDays(arr_days) {

     // 先排序,然后轉時間戳

     let days = arr_days.sort().map((d, i) => {

      let dt = new Date(d)

      dt.setDate(dt.getDate() + 4 - i) // 處理為相同日期

      // 抹去 時 分 秒 毫秒

      dt.setHours(0)

      dt.setMinutes(0)

      dt.setSeconds(0)

      dt.setMilliseconds(0)

      return +dt

     })

     let ret = true

     days.forEach(d => {

      if (days[0] !== d) {

       ret = false

      }

     })

     return ret

    }

    這個函數(shù)只是改動了2個地方,抹去 時 分 秒 毫秒 和 循環(huán)比較,其他都一樣。

    小結

    js 處理時間還是非常簡單的,比如寫個日期插件,其實借助 Date 非常容易實現(xiàn),但實現(xiàn)你要了解 Date 的 api 才行。

    當然要說簡單,還是 php 最簡單,那簡直逆天。

    以上這篇js 判斷一組日期是否是連續(xù)的簡單實例就是小編分享給大家的全部內容了,希望能給大家一個參考

    更多信息請查看網(wǎng)絡編程
    易賢網(wǎng)手機網(wǎng)站地址:js 判斷一組日期是否是連續(xù)的簡單實例

    2026上岸·考公考編培訓報班

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)