java - 将字符串日期与当前长时间进行比较

标签 java android

搜索 API 以 String 格式返回日期,我想将该日期与当前日期进行比较并做一些事情。我创建了一个日期对象并对其进行了解析,但在进行比较时仍然出现错误。

Calendar currentDate = Calendar.getInstance();
long dateNow = currentDate.getTimeInMillis();

String eventDate = meta.getString("startDate"); //This is the string API returns

SimpleDateFormat formatter  = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS");
Date date = formatter.parse(eventDate);
long modifiedDate= date.getTime();

if (dateNow.compareTo(modifiedDate)>0) {
    //Do Something
}                            

我得到的错误是:

Cannot invoke compareTo(long) on the primitive type long

谢谢。

最佳答案

当比较原始的 long 时,只需使用普通的比较运算符:

dateNow > modifiedDate

不推荐这样做,但是如果你想使用compareTo,首先转换为Long:

Long.valueOf(dateNow).compareTo(Long.valueOf(modifiedDate)) > 0

关于java - 将字符串日期与当前长时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11266357/

相关文章:

android - 在Jenkins上构建产品 flavor 的编译错误

android - ICS 中的 SimpleCursorAdapter

android - 获取用户的 Play 商店国家

java - 相当于C#中的java包

java - 将 FacesContext 注入(inject) spring bean

java - 在 ReSTLet 中,ReSTLet 类和 Resource 类有什么区别?

java - 使用日历获取今天的 UNIX 时间戳

java - 如何概括 Selenium Cucumber 中的登录步骤并避免功能文件中的重复步骤?

android - 如何使用 gradle 1.12 生成 html 报告?

java - 如何以编程方式获取Android中已安装的游戏列表