Как получить системное время в Java без создания новой даты
Мне нужно получить системную дату, а Java предоставляет "новую дату(). getTime()".
Но мне нужно избегать размещения новых объектов (я работаю над встроенной системой). Как я могу получить системное время без выделения нового объекта Date?
Ответы
Ответ 1
Как говорит jzd, вы можете использовать System.currentTimeMillis
. Если вам нужен объект Date
, но вы не хотите создавать новый объект Date
, вы можете использовать Date.setTime
для повторного использования существующего объекта Date
. Лично я ненавижу тот факт, что Date
является изменяемым, но, возможно, он вам полезен в этом конкретном случае. Аналогично, Calendar
имеет метод setTimeInMillis
.
Если возможно, возможно, было бы лучше просто сохранить его как long
. Если вам нужна только метка времени, то это лучший подход.
Ответ 2
Это должно работать:
System.currentTimeMillis();
Ответ 3
Вы можете использовать System.currentTimeMillis()
.
По крайней мере, в OpenJDK Date
использует это под обложками.
Вызов System
относится к собственному методу JVM, поэтому мы не можем точно сказать, что распределение не происходит под обложками, хотя здесь это маловероятно.
Ответ 4
Используйте System.currentTimeMillis() или System.nanoTime().