老師想問(wèn)一下,getTime()方法與System.currentTimeMillis()方法有什么應(yīng)用上的區(qū)別嗎?
T-u68owfnuq
展開(kāi)
老師想問(wèn)一下,getTime()方法與System.currentTimeMillis()方法有什么應(yīng)用上的區(qū)別嗎? 趙子蘇1105
展開(kāi)
@ T-u68owfnuq 非要說(shuō)區(qū)別,在于Date類獲取當(dāng)前系統(tǒng)時(shí)間的方法是寫(xiě)在Date類的構(gòu)造方法中,如果你只new(實(shí)例化)一次,當(dāng)前對(duì)象調(diào)用getTime方法,只是將獲取的系統(tǒng)時(shí)間轉(zhuǎn)換成與協(xié)調(diào)時(shí)間的時(shí)間差,那么會(huì)導(dǎo)致代碼中的時(shí)間都是一致的,這點(diǎn)與System.currentTimeMillis()不一樣,System.currentTimeMillis()是實(shí)時(shí)的。 |
|
T-2a4gmtws5
展開(kāi)
|
|
荒村聽(tīng)雨滴
展開(kāi)
|
|
學(xué)習(xí)達(dá)人
|
lpqingq
展開(kāi)
|
趙子蘇1105
展開(kāi)
還有就是要注意,Date類獲取當(dāng)前系統(tǒng)時(shí)間是在實(shí)例化的時(shí)候,如果你在程序執(zhí)行剛開(kāi)始獲得了一個(gè)系統(tǒng)時(shí)間,而在需要計(jì)算時(shí)間差的時(shí)候,使用對(duì)象調(diào)用getTime方法,那么會(huì)導(dǎo)致時(shí)間其實(shí)是不準(zhǔn)確的,中間執(zhí)行的程序越多,時(shí)間差的就越大,因?yàn)間etTime方法會(huì)把實(shí)例化時(shí)候通過(guò)構(gòu)造方法拿到的系統(tǒng)時(shí)間(固定)進(jìn)行計(jì)算 |
|
趙子蘇1105
展開(kāi)
我看很多人說(shuō)getTime()和System.currentTimeMillis()一致,完全錯(cuò)誤,由于System類沒(méi)有構(gòu)造方法,導(dǎo)致System.currentTimeMillis()獲取系統(tǒng)時(shí)間與協(xié)調(diào)時(shí)間差是在currentTimeMillis()方法中完成的,而Date類是有構(gòu)造方法的,并且獲取時(shí)間的操作是在構(gòu)造方法中完成,Date類實(shí)例化時(shí)候就已經(jīng)獲取當(dāng)前時(shí)間了,有興趣自己去看Date類,Date類中的getTime()方法是把obj轉(zhuǎn)換成了毫秒并計(jì)算與協(xié)調(diào)時(shí)間的差。 |
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭(zhēng)議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。