繁体   English   中英

如何将日期从Facebook API转换为Android应用程序日期格式

[英]How to convert Date from facebook api into android app date format

我正在开发一个类似于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");
}

我是从GitHub上的Facebook SDK示例中的StreamRenderer.java派生此代码块的: https : //github.com/facebook/facebook-android-sdk/blob/master/examples/stream/src/com/facebook/stream /StreamRenderer.java (向前检查第380行)

昨天下午5:30它不处理这种情况。 但这应该可以帮助您入门。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM