JAVA如何实现留言时间(几秒前,几分钟前,几小时前....)的功能?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA如何实现留言时间(几秒前,几分钟前,几小时前....)的功能?相关的知识,希望对你有一定的参考价值。
再做一个WEB版的项目,需要实现留言时间(几秒前,几分钟前,几小时前,几天前,几个月前,几年前)的功能,就像贴吧的留言时间格式一样,JAVA语言的。
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");java.util.Date now;
try
now = df.parse("2004-01-02 11:30:25");
java.util.Date date=df.parse("2004-01-02 11:30:24");
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
StringBuffer sb = new StringBuffer();
sb.append("发表于:");
if(day > 0)
sb.append(day+"天");
if(hour > 0 )
sb.append(hour+"小时");
if(min > 0 )
sb.append(min+"分");
sb.append(s+"秒 前");
System.out.println(sb.toString());
catch (ParseException e)
// TODO Auto-generated catch block
e.printStackTrace();
参考技术A 用现在的时间减去留言时间,都换成毫秒,然后再换回正常的时间就可以了。 参考技术B 用当前时间减去留言的时间,前提是留言时间最好存到数据库里面 参考技术C 先保存一个留言发送的时间,再以后界面刷新时用System.currentTimeMillis()或calendar获取当前时间的毫秒数,再相减计算出差值就ok
mysql 数据库中根据当前系统时间,取前后几秒几分钟几小时几天
取时间:
select current_timestamp;
输出:2016-06-16 16:12:52
select now();
输出:2016-06-16 16:12:52
select SUBDATE(now(),interval 60 second);
输出:2016-06-16 16:11:52
取当前时间的下一分钟:
select ADDDATE(now(),interval 60 second);
select ADDDATE(now(),interval 60 second);
输出:2016-06-16
16:13:52
通过变化上面的单位。可以取前后 分钟,小时,天的时间
取前一分钟的时间:
select
SUBDATE(now(),interval 1 minute);
输出:2016-06-16 16:16:38
取前一小时的时间:
select
SUBDATE(now(),interval 1 hour);
输出:2016-06-16 15:17:38
取前一天的时间:
select
SUBDATE(now(),interval 1 day);
输出:2016-06-15 16:17:38
###########################
取后一分钟的时间:
select ADDDATE(now(),interval 1 minute);
输出:2016-06-16 16:17:38
取后一小时的时间:
select ADDDATE(now(),interval 1 hour);
输出:2016-06-16
17:17:38
取后一天的时间:
select ADDDATE(now(),interval 1 day);
输出:2016-06-17 16:17:38
(转)
以上是关于JAVA如何实现留言时间(几秒前,几分钟前,几小时前....)的功能?的主要内容,如果未能解决你的问题,请参考以下文章
asp.net 格式化显示时间为几个月,几天前,几小时前,几分钟前,或几秒前
js 显示友好的时间格式刚刚几秒前,几小时,几天前(3天内) 时间格式化