2011-04-03 67 views
0

我試圖比較Android中的時間與系統時間的毫秒數。 startDateendDate都是long並且代表以毫秒爲單位的時間戳。Android比較時間和毫秒

if (startDate <= System.currentTimeMillis() >= endDate) 

這是我得到的錯誤:

運算符> =未定義的參數類型布爾,長

回答

1

您需要將其更改爲

if (startDate <= System.currentTimeMillis() && System.currentTimeMillis() >= endDate) 

之所以這樣做,是因爲語句得到如下評估:

startDate <= System.currentTimeMillis(); 
<result of above> >= endDate; 

或等價

(startDate <= System.currentTimeMillis()) <= endDate 

<=操作結果在一個布爾值,然後你有什麼是

boolean <= long 

,你不能這樣做。不幸的是,在Java中,你不能像這樣將操作鏈接在一起,因爲它們一次被評估一次,然後第一個的結果被用作第二個的輸入,依此類推。