2016-11-20 3 views
0

У меня есть сервер, возвращающий время назад строковый формат, подобный этому 2 minutes ago, который хорош, но теперь мне нужно его преобразовать в секунды. Я думал о простое разделение строки с использованием разделителя пробелов и получения первого текста, но потом есть случаи, когда сервер возвращал экземпляры 5 hour 43 minutes ago и т. Д. Мой вопрос в том, есть ли опрятный способ преобразования с этого времени назад, ум этих случаев до нескольких секунд?Преобразование «время назад» в секундах в android

ответ

1

Я не думаю, что есть определенная библиотека или метод, который может выполнять преобразование из вашего «времени назад» в несколько секунд. Лучшим вариантом для вас будет синтаксический анализ строки «Время назад», возвращаемой вашим сервером, и сделайте преобразование самостоятельно. Самый простой способ - разбить строку на границы пространства, а затем получить значения часов и мин.

public static int timeAgoToSeconds(String timeAgo) { 
    int timeInSec = 0; 
    String []myStringArray = timeAgo.trim().split(" "); 

    if(myStringArray.length==3){ 
    timeInSec = Integer.valueOf(myStringArray[0]) *60; 
    } 

    if(myStringArray.length==5){ 
     timeInSec = Integer.valueOf(myStringArray[0]) *3600 + Integer.valueOf(myStringArray[2]) * 60; 
    } 

return timeInSec; 

}

тест в основном методе():

String timeAgoHHmm = "5 hour 43 minutes ago"; 
    String timeAgoMM = "2 minutes ago"; 

    System.out.println(timeAgoToSeconds(timeAgoHHmm));//20580 
    System.out.println(timeAgoToSeconds(timeAgoMM));//120 
Смежные вопросы