0

我从 json 中的 facebook graph api 获得时间为(“2013-05-17T06:47:48+0000”)现在我想将其转换为小时跨度。

例如,如果一个人在上述时间更新了他的状态,它将向我们显示 2 小时前或类似的信息。

那么我如何将其转换为时间跨度?

需要帮助。

4

4 回答 4

1

你可以试试这个:

try {
    long delta = System.currentTimeMillis() - new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse("2013-05-17T06:47:48+0200").getTime();
    String timeEllapsed = (delta / 3600000) + "h " + ((delta / 60000) % 60) + "min";
    System.out.println("Time ellapsed : " + timeEllapsed);
} catch (Exception e) {
    e.printStackTrace();
}
于 2013-05-17T14:15:11.133 回答
0

解决方案:

您可以使用JodaTime可从此处下载的库。

例子:

我最近创建了一个小型演示应用程序并上传到我的 GitHub 帐户。

看看TimeStampDemo 。它将按照您在问题中的要求为您提供输出。

我希望它会有所帮助!

于 2013-05-17T14:04:22.963 回答
0

在DateUtil中有一些可用的方法,Banes 在这里谈到了 这些方法。在一些晦涩的语言中存在一些错误(无法确定是哪个),因此如果您进行本地化,Mehul 建议的 Joda 可能会更好。

于 2013-05-17T14:09:00.973 回答
0

首先,您应该知道您从服务器接收到 UTC 时间。您的用户遍布世界各地。因此,您需要在设备上获取 UTC 时间。

要计算任何时间跨度,我建议您阅读以下答案:Android time difference with joda time,使用 JodaTime 库。

于 2013-05-17T13:49:33.410 回答