2012-06-18 65 views
5

Tôi đang cố gắng lấy mili giây hiện tại từ Bắt đầu của ngày đó. Vì vậy, tôi muốn thực hiện các tính toán sau đây. 86400000-currMilliSecondsFromBeginningOfDay. Mọi sự trợ giúp sẽ rất được trân trọng. Cảm ơnJodaTime Lấy Số Mili giây Hiện tại Từ Đầu Ngày

+3

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

+0

@SubinS Trước hết cảm ơn bạn. Ngoài ra tôi đang gặp khó khăn trong việc tìm ra nơi tôi sẽ đặt này liên quan đến biến DateTime() mới của tôi. –

+1

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

Trả lời

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

hoặc

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

hoặc

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

thực sự getMillis() có quyền truy cập riêng tư, bạn có thể sử dụng DateTime(). GetMillisOfDay() thay vì –

+1

@ moretti.fabio http://joda-time.sourceforge.net/apidocs/org/joda/time/base/BaseDateTime. html # getMillis(). Nó là công khai – Ilya

+0

Bạn nói đúng, tôi sai :) –

1

Bạn có thể lấy đầu ngày sử dụng DateMidnight từ thư viện jodatime.

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

Trong khi DateTime constructor sẽ đặt trường millis thành giá trị hiện tại.

Các vấn đề liên quan