中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

JavaScript計(jì)算2個(gè)日期之間相差天數(shù)

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線(xiàn)!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

思路無(wú)非是先獲取2個(gè)時(shí)間點(diǎn)的時(shí)間戳,通過(guò)時(shí)間戳的差值進(jìn)行時(shí)間計(jì)算來(lái)獲取相差的天數(shù),網(wǎng)上幾乎都是這樣的寫(xiě)法,如下:


var diff = parseInt(Math.abs(date1 - date2) / 1000 / 60 / 60 /24) //把相差的毫秒數(shù)轉(zhuǎn)換為天數(shù)  

date1和date2分別是2個(gè)日期的時(shí)間戳,因?yàn)榧由狭私^對(duì)值,所以不分先后。


但是parseInt一般都是將字符串轉(zhuǎn)化為Int類(lèi)型,而Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24計(jì)算出的結(jié)果很明顯是浮點(diǎn)類(lèi)型數(shù)據(jù),雖然從實(shí)際效果上確實(shí)沒(méi)什么區(qū)別,不過(guò)我還是偏向于這樣寫(xiě):


Math.floor(Math.abs(k1 - k2) / 1000 / 60 / 60 /24)
兩種方法不同,但是結(jié)果一樣,都是向下去整,但是這樣的方法只適合用來(lái)獲取絕對(duì)的時(shí)間差,而很多情況下這與我們所期望得到的結(jié)果不一致,以我現(xiàn)在做的項(xiàng)目為例:


我現(xiàn)在知道起始時(shí)間是2015/5/8 15:31:57,結(jié)束時(shí)間是2015/5/28 10:34:46,我想知道這2個(gè)時(shí)間點(diǎn)之間相差多少天,這個(gè)時(shí)候用上面的方法就不妥了,上面的方法算出來(lái)是19,而實(shí)際上應(yīng)該是20,這是一個(gè)四舍五入的問(wèn)題,所有我們應(yīng)該稍加修改一下方法,使計(jì)算出的結(jié)果四舍五入成我們想要的整數(shù)天數(shù),如下:


Math.floor(Math.abs(k1 - k2) / 1000 / 60 / 60 /24 + 0.5);

這樣計(jì)算出的結(jié)果才是我想要的結(jié)果。


至于js轉(zhuǎn)換成時(shí)間戳的方法,如果是Date對(duì)象,則直接調(diào)用getTime()方法就可以獲得毫秒時(shí)間戳。如果是時(shí)間字符串,則用正則表達(dá)式匹配將字符串替換成js所識(shí)別的標(biāo)準(zhǔn)格式,new一個(gè)Date對(duì)象即可。


標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:webview上傳圖片

下一篇: Python搜索文件代碼