簡體   English   中英

Joda-Time-兩個日期之間的秒數

[英]Joda-Time - Number of seconds between two dates

我的英語不太好,但我希望你能理解我。

我試圖得到兩個unix時間戳之間以秒為單位的差異,但它僅返回0。

那是我的代碼

unixOnline = Long.valueOf(online);
unixOffline = Long.valueOf(offline);

DateTimeZone BERLIN = DateTimeZone.forID("Europe/Berlin");
DateTime dateTimeOnline = new DateTime(unixOnline * 1000L, BERLIN);
DateTime dateTimeOffline = new DateTime(unixOffline * 1000L, BERLIN);

int seconds = Seconds.secondsBetween(new LocalDate(dateTimeOnline), new LocalDate(dateTimeOffline)).getSeconds();
System.out.println("Seconds: " + seconds);

編輯:在線時間戳:1457536522離線時間戳:1457536642

LocalDate沒有時間成分,因此,如果時間在同一天,它們實際上將變成同一時間。 相反,只需按原樣比較DateTimes即可;

int hours = Hours.hoursBetween(dateTimeOnline, dateTimeOffline).getHours();

(或者您的情況是,由於相差只有2分鍾,因此您只能以MinutesSeconds查看結果)

編輯:由於該問題似乎與代碼中的時區BERLIN無關,因此此答案有點復雜。 如果只是UTC時間之間的時間差,請使用krzydyn的答案。

由於您已經有了以秒為單位的時間戳記,因此可以通過公式簡單地進行計算:

 int hours = (t2-t1)/3600;

或者,如果您需要分數:

float hours = (t2-t1)/3600f;

更新:(也許我得到了答案的建議:)因此,以秒為單位的時間差異更加簡單:

long seconds = t2-t1;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM