2012-06-18 2 views
5

Próbuję uzyskać bieżące milisekundy od początku tego dnia. Chciałbym dokonać następujących obliczeń. 86400000-currMilliSecondsFromBeginningOfDay. Każda pomoc będzie bardzo ceniona. DziękiJodaTime Get Current Milliseconds From Beginning of Day

+3

currentTimeMillis()% (24 * 60 * 60 * 1000) – Subin

+0

@SubinS Po pierwsze dziękuję. Mam również problem z ustaleniem, gdzie mogę umieścić to w odniesieniu do mojej nowej zmiennej DateTime(). –

+1

long diff = currentTimeMillis()% (24 * 60 * 60 * 1000); DateTime diffDate = new DateTime (diff); – Subin

Odpowiedz

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

lub

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

lub

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

faktycznie getMillis() ma prywatny dostęp, możesz użyć DateTime(). GetMillisOfDay() zamiast –

+1

@ moretti.fabio http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseDateTime. html # getMillis(). To jest publiczne – Ilya

+0

Masz rację, nie mam racji :) –

1

Można dostać początek dnia przy użyciu DateMidnight z biblioteki jodatime.

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

Podczas gdy DateTime constructor ustawi swoje pole millis na wartość bieżącą.