根據Long值求與當前系統時間的時間差

2021-07-13 18:15:10 字數 768 閱讀 8050

先上**:

public class timeutil 

return result;

}}

在一開始,我認為求兩個long值之間的時間差是很容易。

也沒想那麼多,之前計算兩個時間點之間天數的公式是這麼寫的:

int day = (int) ((millis/1000 - time)/3600/24);
但是這麼寫就會出現乙個問題:

它會按照millis和time之間相隔的小時來判斷輸出!

例如:time的時間是2023年6月19日17時00分00秒。

millis時間是2023年6月20日16時00分00秒。

那麼將會返回

"17:00",millis和time之間相隔了23個小時。

但是事實上需求希望返回的是"昨天17:00"是按照自然天來判斷輸出的。

所以計算兩個時間點直接的公式應該為:

int day = (int) (millis/1000/3600/24 - time/3600/24);
這麼寫,就能按照自然天來判斷了。

例如:

time的時間是2023年6月19日23時59分59秒。

millis時間是2023年6月20日00時00分01秒。

millis和time之間相隔了2秒。

返回的是"昨天23:59"了。

Windows系統,bat根據當前時間生成檔名稱

rem 根據當前日期獲取,年月日串 set yyyy date 4 set mm date 5,2 set day date 8,2 set yyyymmdd yyyy mm day rem 把年月日串中的空格替換為0 set yyyymmdd yyyymmdd 0 echo yyyymmdd yy...

to date函式與當前系統時間格式轉換問題總結

bys bys1 select sysdate from dual sysdate 2013 10 25 09 40 31 bys bys1 select to date 2013 10 25 09 40 31 from dual to date 2013 10 25 2013 10 25 09 4...

C 獲取當前系統時間 與某一時間相減

timespan 結構 表示乙個時間間隔。命名空間 system 程式集 mscorlib 在 mscorlib.dll 中 首選簡單介紹一下 timespan值包含了許多屬性與方法 下面的列表涵蓋了其中的一部分 add 與另乙個timespan值相加。days 返回用天數計算的timespan值。...