tira tempo do timestamp

Por que não consigo limpar o tempo de um timestamp assim:

one day == 24 * 3600 * 1000 == 86400000 milliseconds.

long ms = new Date().getTime();  //Mon Sep 03 10:06:59 CEST 2012
Date date = new Date(ms - (ms % 86400000));

como é que isto éMon Sep 03 02:00:00 CEST 2012 ao invés deMon Sep 03 00:00:00 CEST 2012?

questionAnswers(3)

yourAnswerToTheQuestion