我正在尝试将Android中的时间(以毫秒为单位)与系统时间进行比较。
startDate
和endDate
都是long
,代表时间戳,以毫秒为单位。
if (startDate <= System.currentTimeMillis() >= endDate)
这是我得到的错误:
对于参数类型boolean,long
,运算符&gt; =未定义
答案 0 :(得分:1)
您需要将其更改为
if (startDate <= System.currentTimeMillis() && System.currentTimeMillis() >= endDate)
之所以这样,是因为语句的评估如下:
startDate <= System.currentTimeMillis();
<result of above> >= endDate;
或等效
(startDate <= System.currentTimeMillis()) <= endDate
<=
运算符产生一个布尔值,然后你得到的是
boolean <= long
你不能这样做。不幸的是,在Java中,你不能像这样将操作链接在一起,因为它们一次被评估一个,然后第一个的结果被用作第二个的输入,依此类推。