如果在Java / Android中传递,请检查两个日期时间

时间:2018-05-30 07:05:18

标签: java android datetime

我有两个日期时间字符串,一个是当前时间,第二个是如下。

for (int i = 0; i < mySubject.length; i++) {
     your_code_here;
  }

现在我想检查String currentTime = "05/30/2018 16:56:21"; String endTime = "05/30/2018 16:59:21"; 是否已通过endTime

由于

3 个答案:

答案 0 :(得分:2)

看一看 thisthis

示例:

String currentTime = "05/30/2018 16:56:21";
String endTime = "05/30/2018 16:59:21";
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyyHH:mm:ss");

try {
    Date currentTimeDate = sdf.parse("05/30/2018 16:56:21");
    Date endTimeDate = sdf.parse("05/30/2018 16:59:21");
    currentTimeDate.compareTo(endTimeDate); // false / current time has not passed currentTime.
    endTimeDate.compareTo(currentTimeDate); // true / end time has passed currentTime.
} catch (ParseException ignored) {

}

答案 1 :(得分:1)

将两个字符串转换为Date对象,然后使用before()方法检查结束时间是否已经过了currentTime。

System.out.println(agentContext.getDocumentContext().getItemValueString("REQUEST_CONTENT"));

答案 2 :(得分:1)

将这两个时间保持为毫秒,这是一个长值

long currentTime= System.currentTimeMillis();

您还可以使用以下代码转换您的时间和毫秒数。

String givenDateString = "Tue Apr 23 16:08:28 GMT+05:30 2013"; 
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
try {
    Date mDate = sdf.parse(givenDateString);
    long endTime= mDate.getTime();
    System.out.println("Date in milli :: " + endTime);
} catch (ParseException e) {
            e.printStackTrace();
}

现在比较,如果当前时间比结束时间长,那么当前时间已经过了结束时间,如下所示。

if(currentTime>endTime){
//Do stuff
}

享受..