如何基于位置计算的小时两个电流倍之间的差异

问题描述:

我知道这可能是一个简单/重复的问题,但不知何故,我不能管理来计算的话如何基于位置计算的小时两个电流倍之间的差异

你好,我是获取今天的Twitter按照他们的推文时间提供,并且必须根据要显示的位置计算他们之间的时差。这是一个样本日期Sun Jul 21 21:14:40 +0000 2013我需要计算与当前时间的小时差。

所以,要做的第一件事就是该字符串解析成日期:

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); 

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

+0

感谢您的回答!所以这是我需要的所有代码?我不需要在计算时区依赖性差异方面做出额外的努力? –

+1

是 - 一旦将字符串表示形式转换为日期,其他所有内容均以UTC形式完成。 – GreyBeardedGeek