출처: http://stackoverflow.com/a/13018647
From the Google I/O 2012 App:
/* * Copyright 2012 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ private static final int SECOND_MILLIS = 1000; private static final int MINUTE_MILLIS = 60 * SECOND_MILLIS; private static final int HOUR_MILLIS = 60 * MINUTE_MILLIS; private static final int DAY_MILLIS = 24 * HOUR_MILLIS; public static String getTimeAgo(long time, Context ctx) { if (time < 1000000000000L) { // if timestamp given in seconds, convert to millis time *= 1000; } long now = getCurrentTime(ctx); if (time > now || time <= 0) { return null; } // TODO: localize final long diff = now - time; if (diff < MINUTE_MILLIS) { return "just now"; } else if (diff < 2 * MINUTE_MILLIS) { return "a minute ago"; } else if (diff < 50 * MINUTE_MILLIS) { return diff / MINUTE_MILLIS + " minutes ago"; } else if (diff < 90 * MINUTE_MILLIS) { return "an hour ago"; } else if (diff < 24 * HOUR_MILLIS) { return diff / HOUR_MILLIS + " hours ago"; } else if (diff < 48 * HOUR_MILLIS) { return "yesterday"; } else { return diff / DAY_MILLIS + " days ago"; } }
'IT_Programming > Android_Java' 카테고리의 다른 글
[Android] Telephony (0) | 2013.01.16 |
---|---|
Android Settings를 통한 AirplaneMode 예제 코드 (0) | 2013.01.09 |
ContentProvider 앱 간 데이터 공유 기본 (0) | 2012.10.29 |
ContentProvider로 ExpandableList 구현 예제 (CursorTreeAdapter 사용) (0) | 2012.10.28 |
[펌] AndroidManifest 에 있는 Debuggable 항목 값 읽어오기 (0) | 2012.10.05 |