js中 日期天數加1

2021-07-16 02:57:45 字數 1321 閱讀 6731

工作中經常會遇到當前日期+1或者+n的需求

舉個例子:比如現在時間是2016-08-30, 需要顯示的是30+1或者是30+n。+1是31號正常,+2呢?話說本尊不曉得哪個月份有32號哈?當然一年中也不會有13月

下面說一下我用的兩種方法

第一種  通過本地字串方法tolocalestring()得到最新時間

//獲取當前時間,離開日期預設為t+1

functiongetlocaltime

(addnum)

getlocaltime

(2)

獲取當前日期的時間戳today ,時間戳是毫秒單位,所以需要將n轉化成毫秒n*24860*60*1000。  

簡單說就是:當前時間戳(毫秒) + 需要增加的時間(毫秒) =  想得到的未來時間(毫秒);

然後通過new date(想得到的未來時間(毫秒))獲取到加n之後的標準時間 如:  wed aug 04 2016 15:27:14 gmt+0800 (中國標準時間)

再通過tolocalestring()方法轉化成本地字串  2016/8/4 下午3:28:11。

最後通過擷取和拼接字串得到

但是tolocalestring()方法有個坑,它存在瀏覽器相容性的問題。

問題描述:

date物件的tolocalestring方法在各個瀏覽器下的返回值存在格式上的差異。

造成的影響:

返回字串的格式及長度不一致。

並且受影響的並非某個瀏覽器,而是所有瀏覽器,哦買噶的

chrome:wed aug 03 2016 15:58:48 gmt+0800 (中國標準時間)      tolocalestring 後: 2016/8/3 下午3:57:51

firefox:wed aug 03 2016 16:03:05 gmt+0800                                     tolocalestring 後: 2016/8/3 下午4:03:05

safari:wed aug 03 2016 16:06:37 gmt+0800 (öð¹ú±ê׼걼ä)    tolocalestring 後: wednesday, august 03, 2016 16:06:37

可見這種方法在相容性上是沒有太大保障的,所以本尊立刻馬上換了種方法

functiongetlocaltime(addnum)
getlocaltime(10)
所以通過getfullyear,getmonth,getdate的方法分別獲取年月日這種方法還是比較好的,建議用此方法哈

日期加天數

asp中dateadd函式用法 字串表示式,表示要新增的時間間隔。有關數值,請參閱 設定 部分。返回已新增指定時間間隔的日期。dateadd interval,number,date 引數interval 必選項。number 必選項。數值表示式,表示要新增的時間間隔的個數。數值表示式可以是正數 得...

日期加天數

asp中dateadd函式用法 字串表示式,表示要新增的時間間隔。有關數值,請參閱 設定 部分。返回已新增指定時間間隔的日期。dateadd interval,number,date 引數interval 必選項。number 必選項。數值表示式,表示要新增的時間間隔的個數。數值表示式可以是正數 得...

js 中日期格式

new date new date hidtargetduedate val 8 3600 1000 toisostring 2020 03 30t00 00 00.000z replace new regexp gm 相當於replaceall js中並沒有 replaceall方法 new in...