Android facebook アプリに似たアプリを開発しています。
Facebookアプリから作成された時間フィールドを取得しました
"created_time": "2012-11-28T12:53:40+0000",
では、どうすればこれを Android Facebook アプリの日付形式に変換できますか?
2hours ago,
yesterday at 5:30pm etc
Android facebook アプリに似たアプリを開発しています。
Facebookアプリから作成された時間フィールドを取得しました
"created_time": "2012-11-28T12:53:40+0000",
では、どうすればこれを Android Facebook アプリの日付形式に変換できますか?
2hours ago,
yesterday at 5:30pm etc
これを試して:
String getCreatedTime = JOConversations.getString("created_time");
long finalTimeStamp = Long.valueOf(getCreatedTime);
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
SimpleDateFormat formatter = getDateFormat();
ParsePosition pos = new ParsePosition(0);
long then = formatter.parse(timestamp, pos).getTime();
long now = new Date().getTime();
long seconds = (now - then)/1000;
long minutes = seconds/60;
long hours = minutes/60;
long days = hours/24;
String friendly = null;
long num = 0;
if (days > 0) {
num = days;
friendly = days + " day";
} else if (hours > 0) {
num = hours;
friendly = hours + " hour";
} else if (minutes > 0) {
num = minutes;
friendly = minutes + " minute";
} else {
num = seconds;
friendly = seconds + " second";
}
if (num > 1) {
friendly += "s";
}
String postTimeStamp = friendly.toUpperCase() + " AGO";
このビットのヘルパー メソッドは次のとおりSimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
です。
private static SimpleDateFormat getDateFormat() {
return new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
}
このコード ブロックは、 https StreamRenderer.java
://github.com/facebook/facebook-android-sdk/blob/master/examples/stream/src/com/facebook/stream/StreamRenderer の GitHub の Facebook SDK の例から派生させました。 java (行番号 380 以降を確認)
昨日の午後 5:30のシナリオは扱っていません。しかし、これで始められるはずです。