android 将时间戳转为代表"距现在多久之前"的字符串

 我来答
huanglenzhi
推荐于2016-04-15 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517193
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
/**
* 将时间戳转为代表"距现在多久之前"的字符串
* @param timeStr 时间戳
* @return
*/
public static String getStandardDate(String timeStr) {

StringBuffer sb = new StringBuffer();

long t = Long.parseLong(timeStr);
long time = System.currentTimeMillis() - (t*1000);
long mill = (long) Math.ceil(time /1000);//秒前

long minute = (long) Math.ceil(time/60/1000.0f);// 分钟前

long hour = (long) Math.ceil(time/60/60/1000.0f);// 小时

long day = (long) Math.ceil(time/24/60/60/1000.0f);// 天前

if (day - 1 > 0) {
sb.append(day + "天");
} else if (hour - 1 > 0) {
if (hour >= 24) {
sb.append("1天");
} else {
sb.append(hour + "小时");
}
} else if (minute - 1 > 0) {
if (minute == 60) {
sb.append("1小时");
} else {
sb.append(minute + "分钟");
}
} else if (mill - 1 > 0) {
if (mill == 60) {
sb.append("1分钟");
} else {
sb.append(mill + "秒");
}
} else {
sb.append("刚刚");
}
if (!sb.toString().equals("刚刚")) {
sb.append("前");
}
return sb.toString();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式