Jak ustawić czas bazowy chronometru Android z obiektu Date?

Mam problem z uruchomieniem chronometru od określonej godziny. Jest obiekt Date, od którego mój chronometr ma zacząć:

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() +"]");

Wydajność:

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]

Właściwie dlaczego te długie wartości różnią się czasem (11624388 i 1338644123032)?

Kiedy zaczynam chronometr od bazy

chronometer.setBase(SystemClock.elapsedRealtime());

- zawsze działa dobrze („00:00” i rośnie)

Ale kiedy próbuję ustawić datę z przeszłości Data (np. Wczoraj):

chronometer.setBase(yesterday.getTime());

- pokazuje „00: 0 (” i zmienia co drugi ostatni znak na „)”, „*”, „/” i inne

Czy mógłbyś doradzić, jak mogę ustawić bazę chronometru na obiekt Date?

questionAnswers(2)

yourAnswerToTheQuestion