簡體   English   中英

獲取java.util.date小時的最快方法?

[英]Fastest way to get hour of java.util.date?

java.util.date對象開始時:將小時部分作為integer關於性能的最佳方法是什么?

我必須迭代幾百萬個日期,因此性能很重要。

通常我會得到如下的時間,但也許有更好的方法?

java.util.Date date;
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int hours = calendar.get(Calendar.HOUR_OF_DAY);

在UTC中:

int hour = (int)(date.getTime() % 86400000) / 3600000;

要么

 long hour = (date.getTime() % 86400000) / 3600000;
Date dateInput = new Date();

因為日歷從01.01.1970, 01:00開始。 您必須對代碼進行進一步修改。使用以下方法可以避免這種情況,因此這將更快地執行。

dateInput.toInstant().atZone(ZoneId.systemDefault()).getHour();

暫無
暫無

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

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