我知道这可能是一个简单/重复的问题,但不知何故我无法计算它
您好,我现在正在通过他们的推特时间获取今天的推特供稿,并且必须根据要显示的位置计算它们之间的小时数差异。这是一个示例日期 Sun Jul 21 21:14:40 +0000 2013
,我需要计算小时数与当前时间的差异。
答案 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存储为毫秒。因此,将字符串解析为日期(使用时区),并计算两个日期之间的差异,可以为您提供时区差异。