System.currentTimeMillis()
, очевидно, является наиболее эффективным , поскольку он даже не создает объект, но new Date()
на самом деле просто тонкая обертка для длинных, поэтому он не сильно отстает. Calendar
, с другой стороны, является относительно медленным и очень сложным, так как имеет дело со значительной сложностью и всеми странностями, которые свойственны датам и временам (високосные годы, летнее время, часовые пояса и т. Д.).
Как правило, рекомендуется иметь дело только с длинными метками времени или Date
объектами в вашем приложении и использовать Calendar
только тогда, когда вам действительно необходимо выполнить вычисления даты / времени или отформатировать даты для их отображения пользователю. , Если вам приходится много делать, использование Joda Time , вероятно, является хорошей идеей для более чистого интерфейса и лучшей производительности.