您的位置:首页 > 移动开发 > Android开发

Android计算两个时间戳的差值,以字符串的形式表示

2016-03-15 20:28 561 查看
好比新闻系统,会有发布时间的标示,如果发布时间显示的是几天前发布,几个小时前发布,给用户的体验可能会更好

因此需要将两个时间戳的差值转换为字符串



/**
* Created by wangshihui on 2015/10/26.
* 暂时只提供计算两个时间的差值
*/
public class TimeUtils {
/*
*计算time2减去time1的差值 差值只设置 几天 几个小时 或 几分钟
* 根据差值返回多长之间前或多长时间后
* */
public static String getDistanceTime(long  time1,long time2 ) {
long day = 0;
long hour = 0;
long min = 0;
long sec = 0;
long diff ;
String flag;
if(time1<time2) {
diff = time2 - time1;
flag="前";
} else {
diff = time1 - time2;
flag="后";
}
day = diff / (24 * 60 * 60 * 1000);
hour = (diff / (60 * 60 * 1000) - day * 24);
min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);
sec = (diff/1000-day*24*60*60-hour*60*60-min*60);
if(day!=0)return day+"天"+flag;
if(hour!=0)return hour+"小时"+flag;
if(min!=0)return min+"分钟"+flag;
return "刚刚";
}
}

调用:

Long createTime = helpBean.getParameters().getHelp().getCreateTime();
/*System.currentTimeMillis():
Returns the current time in milliseconds since January 1, 1970 00:00:00.0 UTC.*/
String timeDistance = TimeUtils.getDistanceTime(createTime, System.currentTimeMillis());
tvPublishTime.setText(timeDistance);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: