我从 json 中的 facebook graph api 获得时间为(“2013-05-17T06:47:48+0000”)现在我想将其转换为小时跨度。
例如,如果一个人在上述时间更新了他的状态,它将向我们显示 2 小时前或类似的信息。
那么我如何将其转换为时间跨度?
需要帮助。
你可以试试这个:
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();
}
解决方案:
您可以使用JodaTime
可从此处下载的库。
例子:
我最近创建了一个小型演示应用程序并上传到我的 GitHub 帐户。
看看TimeStampDemo 。它将按照您在问题中的要求为您提供输出。
我希望它会有所帮助!
首先,您应该知道您从服务器接收到 UTC 时间。您的用户遍布世界各地。因此,您需要在设备上获取 UTC 时间。
要计算任何时间跨度,我建议您阅读以下答案:Android time difference with joda time,使用 JodaTime 库。