2016-01-24 3 views
0

Я вычисляю разницу во времени между двумя датами и временем, но ее сдерживание недействительной разницы.Как найти разницу между двумя датами Временная строка?

вот мой пример даты и кода для расчета разницы.

loginTime=2016-01-24 12:04:30.16 
expiryTime = 2016-01-24 13:04:30.16 

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 
     Date now = new Date(); 


     try { 
      Date startDate = simpleDateFormat.parse(loginTime); 
      Date expireDate = simpleDateFormat.parse(expiryTime); 

//   String temCurrentDate = new SimpleDateFormat("yyyy-MM-dd").format(now); 
//   Date currentDate = new SimpleDateFormat("yyyy-MM-dd").parse(temCurrentDate); 
//   String day_of_week = new SimpleDateFormat("EEEE").format(now); 

      long difference =startDate.getTime()- expireDate.getTime(); 

      int hour = (int) difference/(60 * 60 * 1000); 


     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 

Разница между этим временем составляет 1 час, но я получаю 11 или 13. Пожалуйста, расскажите, где я ошибаюсь.

+0

Возможный дубликат [Рассчитать разницу между двумя моментами в Android] (http://stackoverflow.com/questions/14110621/calculate-difference-between-two-times-in-android) – Pankaj

ответ

0

орфографическую ошибку в переменной:

simpleDateFormat.parse(expiryTime); 

Не соответствует: ExpiryTime = 2016-01-24 13:04:30.16

Вот и вся проблема.

+0

Я сделал эту орфографическую ошибку при наборе текста вопрос –

+0

Ну, что любопытно, что эта ошибка заставит ваш код найти разницу в много часов, так как одно из раз пусто. – durbnpoisn

Смежные вопросы