Вы можете (, но больше не должны - см. Ниже!) Использовать android.text.format.Time :
Time now = new Time();
now.setToNow();
Из ссылки, указанной выше:
Класс Time - более быстрая замена для классов java.util.Calendar и java.util.GregorianCalendar.Экземпляр класса Time представляет момент времени, указанный с точностью до секунды.
ПРИМЕЧАНИЕ 1: Прошло несколько лет с тех пор, как я написал этот ответ, и оно старом, специфичном для Android и теперь устаревшем классе.Google сейчас говорит , что "[t] его класс имеет ряд проблем, и вместо него рекомендуется использовать GregorianCalendar ".
ПРИМЕЧАНИЕ 2: Несмотря на то, что класс Time
имеет метод toMillis(ignoreDaylightSavings)
, это просто удобство для перехода к методам, которые ожидают время в миллисекундах.Значение времени с точностью только до одной секунды ;доля в миллисекундах всегда равна 000
.Если в цикле вы делаете
Time time = new Time(); time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));
... do something that takes more than one millisecond, but less than one second ...
Результирующая последовательность будет повторять то же значение, например 1410543204000
, до тех пор, пока не начнется следующая секунда, после чего 1410543205000
начнет повторяться.