Разница между минутами - PullRequest
       3

Разница между минутами

0 голосов
/ 21 сентября 2011

Скажем, у меня есть 2 строки в следующем формате:

"09/21 10:06 AM" "09/21 10:10 AM"

Как найти разницу во времени между этимистроки, хранящиеся как int?Это должно быть достаточно надежно, чтобы справляться с такими ситуациями, как 10:59 и 11:02 (нечетное количество минут между ними), 11:59 и 12:03 (переключение с AM на PM) и т. Д. Не нужно беспокоиться о секундах.

Спасибо!

Ответы [ 5 ]

8 голосов
/ 21 сентября 2011

Я бы предложил:

  • Использовать Joda Time вместо встроенного API;это много лучше.
  • Разобрать в LocalDateTime значения
  • Найти разницу между ними с помощью:

    Minutes period = Minutes.minutesBetween(first, second);
    int minutes = period.getMinutes();
    
1 голос
/ 21 сентября 2011
0 голосов
/ 21 сентября 2011
  1. Преобразование 2 строк в даты.
  2. Вычтите одно из другого.
  3. Умножьте результат на 1440 (количество минут в дне).
  4. Округлить результат до целого числа.

Дайте мне знать, если это работает:)

0 голосов
/ 21 сентября 2011

Если есть переход на летнее время, разница в один день может быть на час больше, чем в другой.

Лучше всего использовать библиотеку, которая уже делает это.JodaTime лучше, но SimpleDateFormat и Date, вероятно, сделают то, что вам нужно.

0 голосов
/ 21 сентября 2011

Разобрать строки в Date объектах и ​​получить разницу между ними в миллисекундах. Затем преобразуйте эти миллисекунды в минуты (разделите на 60000 и возьмите верхний предел результата).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...