2012-06-18 3 views
5

Я пытаюсь получить текущие миллисекунды с начала этого дня. Поэтому я хотел бы сделать следующий расчет. 86400000-currMilliSecondsFromBeginningOfDay. Любая помощь будет принята с благодарностью. БлагодаряJodaTime Получить текущие миллисекунды с начала дня

+3

текущийTimeMillis()% (24 * 60 * 60 * 1000) – Subin

+0

@SubinS сначала от вас. Также у меня возникли проблемы с выяснением того, где я бы поместил это в отношении новой переменной DateTime(). –

+1

длинный diff = текущийTimeMillis()% (24 * 60 * 60 * 1000); DateTime diffDate = new DateTime (diff); – Subin

ответ

10
long result = new DateTime().millisOfDay().getMillis(); 

или

long result = new DateTime().getMillis() - new DateTime().withMillisOfDay(0).getMillis(); 

или

long result = new LocalTime().get(DateTimeFieldType.millisOfDay()); 
+3

Фактически getMillis() имеет частный доступ, вы можете использовать DateTime(). GetMillisOfDay() вместо –

+1

@ moretti.fabio http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseDateTime. HTML # getMillis(). Это общедоступно – Ilya

+0

Вы правы, я ошибаюсь :) –

1

Вы можете получить начало дня, используя DateMidnight из библиотеки jodatime.

long todayStart = new DateMidnight().getMillis(); 

Хотя DateTime constructor установит его Миллис поле к текущему значению.