Android: рассчитать продолжительность события из двух строк - PullRequest
0 голосов
/ 04 июля 2019

Итак, у меня есть отметка времени, например, такая = 1570312800 а также источник дает мне время начала и время окончания в строковом формате, поэтому предположим, что это в основном с 18:00 до 01:00 (с 18:00 до 01:00) Я хочу вычислить разницу между двумя строками (5 часов), преобразовать ее в миллисекунды и добавить к метке времени. Что доставляет мне неприятности, так это преобразование из STRING в миллисекунды.

Какой будет самый чистый путь?

Пример кода:

Calendar c1 = Calendar.getInstance(android.icu.util.TimeZone.getTimeZone("UTC"));
Calendar c2 = Calendar.getInstance(android.icu.util.TimeZone.getTimeZone("UTC"));

SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));

try
{
    c1.setTime(sdf.parse("20:00"));
    c2.setTime(sdf.parse("1:00"));
}
catch (ParseException e)
{
    e.printStackTrace();
}

Log.d("TIME DIFFERENCE", String.valueOf(c2.getTimeInMillis()-c1.getTimeInMillis()));

1 Ответ

2 голосов
/ 04 июля 2019

Один из способов сделать это - разобрать строку в SimpleDateFormat, как показано ниже:

Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));            
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));       

c1.setTime(sdf.parse("20:00"));
System.out.println(c1.getTimeInMillis());
...