System.currentTimeMillis()
очевидно, є найбільш ефективною, оскільки вона навіть не створює об'єкт, але new Date()
насправді є лише тонкою обгорткою довгою, тому вона не відстає. Calendar
з іншого боку, є відносно повільним і дуже складним, оскільки має справу зі значно складністю та всіма дивацтвами, притаманними датам та часам (високосні роки, економія денного світла, часові пояси тощо).
Як правило, це гарна ідея мати справу лише з довгими часовими позначками або Date
об'єктами у вашій програмі та використовувати їх лише Calendar
тоді, коли вам потрібно виконати обчислення дати / часу або відформатувати дати їх відображення користувачеві. Якщо вам доведеться зробити багато цього, використання Joda Time - це, мабуть, хороша ідея, для більш чистого інтерфейсу та підвищення продуктивності.