91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js怎么判斷日期天數

發布時間:2022-01-05 16:02:06 來源:億速云 閱讀:260 作者:iii 欄目:大數據

本篇內容介紹了“js怎么判斷日期天數”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

題目:給定5個相同格式的日期,怎么判斷是否是連續的5天呢?

數據如下:

let days = [  '2016-02-28',  '2016-02-29', // 閏月  '2016-03-01', // 跨月  '2016-03-02',  '2016-03-03',]

看到這個題目,我瞬間想到了另外的一個題目:一個數組,數組中有5個數字,如何判斷這5個數字是否是連續的:

let arr = [1,2,3,4,5]

感覺這兩道題目的解法是一樣的,后面這道數字的相對比較簡單,不用處理時間問題,咱們先來解決后面這道題。

那么思路是什么樣的呢?我們可以假設arr數組中5個數字是連續的,然后在此基礎之上,我們做一些操作,做什么操作呢?

假如5個數字是連續的,那么第一個數字加4,第二個數字加3,第三個數字加2,第四個數字加1,第五個數字加0,最終得到:

let newarr = [5,5,5,5,5];

然后判斷每個數字是否都相等,如果相等那么說明arr是連續的,反之則是不連續的。

思路有了,代碼如下:

let arr = [1,2,3,4,5];
let newarr = arr.sort().map((e,i)=>{    return e+4-i})let stand = newarr[0];
let isTrue = newarr.every(e=>{    return e===stand})
console.log(isTrue)

接下來我們看日期是否連續該如何判斷:

let days = [  '2016-02-28',  '2016-02-29', // 閏月  '2016-03-01', // 跨月  '2016-03-02',  '2016-03-03',]

觀察上面的日期數組,我們假定日期是連續的,然后對每一個日期進行處理,但是該如何處理呢?

上面數字題目比較直觀,假設數字連續,設置成相同數字,日期則需要利用js的日期處理API了,我們可以利用Date對象的setDate方法將其設置成相同的日期。  

簡單說就是將2016-02-28、2016-02-29等日期設置成2016-03-03,我們可以這樣做,代碼如下:

let dt = new Date("2016-02-28");dt.setDate(dt.getDate()+4-1)console.log(dt)

打印結果:

js怎么判斷日期天數

處理日期的方法有了,將給定數組中所有日期都處理一下,最終代碼如下:

let days = [    '2016-02-28',    '2016-02-29', // 閏月    '2016-03-01', // 跨月    '2016-03-02',    '2016-03-03',]
let newdays = days.map((e,i)=>{    let dt = new Date(e);    dt.setDate(dt.getDate() + 4 - i);    //轉換成時間戳    return +dt})let stand = newdays[0]let isTrue = newdays.every(e=>{    console.log(e,stand)    return stand ===e})console.log(isTrue)

再深入一下,如果給的時間是這樣的呢?

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',]

我們只需要對時間的時、分、秒、毫秒,處理一下即可,代碼如下:

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',]
let newdays = days.map((e,i)=>{        let dt = new Date(e);        dt.setDate(dt.getDate() + 4 - i);        dt.setHours(0);        dt.setMinutes(0);        dt.setSeconds(0);        dt.setMilliseconds(0);        return +dt})let stand = newdays[0]let isTrue = newdays.every(e=>{    return stand ===e})console.log(isTrue)

“js怎么判斷日期天數”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

梁山县| 慈利县| 平乐县| 奇台县| 霍山县| 交口县| 和平区| 汉源县| 吉安县| 科技| 盐边县| 巴彦县| 志丹县| 宜黄县| 密云县| 兴安县| 泸州市| 曲周县| 阳信县| 增城市| 酉阳| 乌鲁木齐县| 安国市| 普兰店市| 樟树市| 嵊泗县| 舒兰市| 乌拉特中旗| 广汉市| 松滋市| 大丰市| 天镇县| 瑞丽市| 雷州市| 靖宇县| 宜宾市| 响水县| 囊谦县| 尤溪县| 皮山县| 新沂市|