[英]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分鍾,因此您只能以Minutes
或Seconds
查看結果)
編輯:由於該問題似乎與代碼中的時區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.