2013-09-02 1 views
0

timeago에 해당하는 Android 용 앱이 있습니까?Android 용 timeago 동등한

날짜가 단지 '예쁜 인쇄'가 아니라 시간이 지남에 따라 업데이트되는 것이 중요합니다.

유사한 기능을 가진 일부 프로젝트/자원 (I 더 찾으면 내가이 목록을 업데이트합니다) :

+0

의 라이브러리가 제공하는 것이 자신의 것을 구현하기 위해, 당신이 찾고있는 최선의 자동 새로 고침 가능성. –

+0

@j_mcnally는 '새 타이머(). scheduleAtFixedRate (작업, 지연, 기간)'자동 새로 고침을 만드는 좋은 방법입니까? – fernandohur

+0

얼마나 자주 새로 고침해야하는지 등에 따라 달라집니다. 활동에서 할 수있는 일입니까? –

답변

2

가 여기 TIMEAGO 방법입니다.

milliseconds를 전달하기 만하면이 메소드를 호출하여 이전 버전으로 업데이트 할 수 있습니다. 요구 사항에 따라 날짜 형식 또는 날짜 문자열을 보내서 변경할 수 있습니다.

나는 귀하의 요구 사항에 응답 이러한 라이브러리를 발표했습니다 @fernandohur,

public class TimeAgo { 
    public final static String monthAgo = " month ago"; 
    public final static String weekAgo = " week ago"; 
    public final static String daysAgo = " days ago"; 
    public final static String hoursAgo = " hour ago"; 
    public final static String minAgo = " minute ago"; 
    public final static String secAgo = " seconds ago"; 
    static int second = 1000; // milliseconds 
    static int minute = 60; 
    static int hour = minute * 60; 
    static int day = hour * 24; 
    static int week = day * 7; 
    static int month = day * 30; 
    static int year = month * 12; 

    @SuppressLint("SimpleDateFormat") 
    public static String DateDifference(long fromDate) { 
     long diff = 0; 
      long ms2 = System.currentTimeMillis(); 
      // get difference in milli seconds 
      diff = ms2 - fromDate; 

      int diffInSec = Math.abs((int) (diff/(second))); 
      String difference = ""; 
      if(diffInSec < minute) 
      { 
       difference = diffInSec+secAgo; 
      } 
      else if((diffInSec/hour) < 1) 
      { 
       difference = (diffInSec/minute)+minAgo; 
      } 
      else if((diffInSec/ day) < 1) 
      { 
       difference = (diffInSec/hour)+hoursAgo; 
      } 
      else if((diffInSec/ week) < 1) 
      { 
       difference = (diffInSec/day)+daysAgo; 
      } 
      else if((diffInSec/month)<1) 
      { 
       difference = (diffInSec/week)+weekAgo; 
      } 
      else if((diffInSec/year)<1) 
      { 
       difference = (diffInSec/month)+monthAgo; 
      } 
      else 
      { 
       // return date 
       Calendar c = Calendar.getInstance(); 
       c.setTimeInMillis(fromDate); 

       SimpleDateFormat format_before = new SimpleDateFormat(
         "yyyy-MM-dd HH:mm:ss"); 

       difference = format_before.format(c.getTime()); 
      } 


      Log.e("time difference is: ","" + difference); 
      return difference; 
    } 
} 
1

인사말.

TimeAgo은 날짜/시간을 상대적인 '시간 전'또는 '시간 내에'텍스트 형식으로 변환하는 간단한 자바 라이브러리입니다.

순수 자바 날짜/시간 처리 방식을 사용하므로 joda-time API와 같은 의존성이 없어 안드로이드 응용 프로그램에서 사용할 수 있습니다.

링크 : Timeago on Android arsenal

+0

이 링크는 질문에 답할 수 있지만 여기에 답의 핵심 부분을 포함시키고 참조 용 링크를 제공하는 것이 좋다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [리뷰에서] (리뷰/저품절 포스트/14383807) –

+0

예 @ HåkenLid ... 간단히 말해서 공유 라이브러리는 대답 할 수 있습니다. #TimeAgo는 상대 시간 언어로 날짜를 표시하는 간단한 자바 라이브러리입니다. –

+0

@ HåkenLid 아, 미안, 내 대답을 업데이트했습니다 :) –