Как установить базовое время Android Chronometer из объекта Date?

У меня проблема с запуском хронометра в указанное время. Есть объект Date, с которого я хочу запустить хронометр:

Date d = new Date(); //now, just for example
chronometer.setBase(d.getTime()); //long value of d
Log.d("Date: " , "d.getTime() time is [" + d.getTime() +"]");
Log.d("Chron: " , "chronometer.getBase() is [" + chronometer.getBase() +"]");
//let's print out elapsedRealtime from official sample
Log.d("Chron: " , "SystemClock.elapsedRealtime() is [" + SystemClock.elapsedRealtime() +"]");

Выход:

06-02 13:35:23.025: D/Date:(928): d.getTime() time is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): chronometer.getBase() is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): SystemClock.elapsedRealtime() is [11624388]

Собственно, почему эти длинные значения времени отличаются (11624388 и 1338644123032)?

Когда я запускаю свой хронометр с базы

chronometer.setBase(SystemClock.elapsedRealtime());

- он всегда работает нормально («00: 00» и растет)

Но когда я пытаюсь установить дату из прошедшей даты (например, вчера):

chronometer.setBase(yesterday.getTime());

- он отображает «00: 0» (и каждую секунду меняет последний символ на «)», «*», «/»; и другие

Не могли бы вы посоветовать, как я могу установить основание хронометра для объекта Date?

Ответы на вопрос(2)

Ваш ответ на вопрос