Я не совсем уверен, о чем вы спрашиваете, так как я не знаю, что такое «DatePreference», как и Google.
В Java и Android у вас есть несколько вариантов представления и работы с данными даты / времени. Для представления "Сейчас":
Вы можете использовать java.util.Date . Конструктор без аргументов создает объект Date, который «представляет время, когда он был выделен».
Вы можете использовать java.util.Calendar . Calendar.getInstance () возвращает «экземпляр подкласса Calendar, установленный на текущую дату и время в часовом поясе по умолчанию».
Вы можете использовать примитивное длинное значение. Система .currentTimeMillis () возвращает «текущее время в миллисекундах».
Вы можете использовать android.text.format.Time , что является «более быстрой заменой» Календаря. После создания или иного получения объекта Time, вызовите setToNow (), чтобы установить время «на текущее время».
До Android я знаю, что многие предпочитали использовать Joda-Time при работе с данными даты / времени в Java. С Joda-Time вы можете создать новый экземпляр joda.time.DateTime с конструктором без аргументов, который бы затем представлял «текущую системную миллисекунду с использованием ISOChronology в часовом поясе по умолчанию».
Я также рекомендую просмотреть документацию android.os.SystemClock при работе с событиями даты / времени в Android.