如何根据位置计算两个当前时间之间的小时差

时间:2013-07-21 21:27:40

标签: android twitter

我知道这可能是一个简单/重复的问题,但不知何故我无法计算它

您好,我现在正在通过他们的推特时间获取今天的推特供稿,并且必须根据要显示的位置计算它们之间的小时数差异。这是一个示例日期 Sun Jul 21 21:14:40 +0000 2013 ,我需要计算小时数与当前时间的差异。

1 个答案:

答案 0 :(得分:1)

因此,首先要做的是将该字符串解析为日期:

Date postDate = new java.text.SimpleDateFormat("E MMM d HH:mm:ss Z yyyy")
                                 .parse("Sun Jul 21 21:14:40 +0000 2013");

现在,您可以以毫秒为单位获取发布日期和当前日期之间的差异:

long diffMSec = new Date().getTime() - postDate.getTime();

最后,您可以将毫秒转换为小时或任何其他时间单位:

int diffHours = diffMSec / (1000*60*60); 

请注意,日期仅在表示为字符串时具有时区 - 在内部,它们自1980年1月1日午夜起以UTC存储为毫秒。因此,将字符串解析为日期(使用时区),并计算两个日期之间的差异,可以为您提供时区差异。