关于时间显示的问题,例如:1小时前 想问下:就像这种,几小时前,几分钟前,几天前的时间格式是怎么样的一个规则?这种时间格式 学名叫做什么,经理让实现一个这样的功能,但是不知道是什么样的规则,请大家帮帮我,谢谢,我也没有多少分,全给大家了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Calendar c = new GregorianCalendar();Date current = new Date();current.before(c.getTime())用这个做判断。试一下。条件自己去设置。 不知这个是不是你需要的PrettyTimeConvert elapsed timestamps, like, “in 3 minutes!”http://ocpsoft.com/prettytime/#docs 比如csdn,就用发帖时间和现在时间进行比较呗,楼主是这意思? Calendar 日历。不过你说的这个需求还是不清,你完全可以自己定一个这样的对象class TheTime{ //当时的时间戳 private Long times = null; //timesGetter //timesSetter public String toString(){ return new SimpleDateFormat("yyyy-MM-dd").format(new Date(times)); } public String toString(String formatStr){ return new SimpleDateFormat(formatStr).format(new Date(times)); } }你可以往这个类里面再添加一些需要的属性,然后再添加一些 需要的方法就差不多了完全可以用Date直接写,不过用的地方多了封装一下就比较方便。 lz去查JAVA API的Calendar类。里面很全的。 /** * 获取距离现在的时间 */ public String getMinutes (){ long time = times - new Date().getTime();//time 单位是 毫秒 String res = null; //转化成天数 //先判断是不是小于 60 * 60 * 1000 也就是 小于1小时,那么显示 : **分钟前 if(time < 60 * 60 * 1000){ res = (time / 1000 / 60 ) + "分钟前"; } //如果大于等于1小时 小于等于一天,那么显示 : **小时前 else if(time >= 60 * 60 * 1000 && time < 24 * 60 * 60 * 1000){ res = (time / 1000 / 60 / 60 ) + "小时前"; } //如果大于等于1小时 小于等于一天,那么显示 : **小时前 else if(time >= 24 * 60 * 60 * 1000){ res = (time / 1000 / 60 / 60 /24 ) + "天前"; } //如果时间不明确或者发帖不足一分钟 ,则不显示 else{ res = ""; } return res; }这里的 分钟 小时 和 天 的除法考虑的不全,只是简单的 把思路说一下啊一定要注意 除法的精确性带来的结果的不精确如果要求不是很严格的时间显示的话,那么上面那样写偏移量不大但是要是精确现实的话 就必须自己再去加一些 类似四舍五入的判断了 初学遇到一个循环的问题 Java连接代理验证用户名密码后,怎样返回用户名密码是否正确? 求高手解答一道java 帮忙解释一下ORB.init(arg,propt) //两个参数是用来干什么的,为什么要传入?? JAVA出错 一个关于测试的问题,高手请进,高分酬谢!!!!!! 请教一个简单的问题,初学!卡住了,不明白为什么 请问在输入框按回车是激发什么事件呢? weblogic问题:找不到类(小应用程序载入失败) 紧急求救!1000分大奉送!!!! 关于继承 各位大虾,有没有用过用JAVA来实现lzx压缩的?
current.before(c.getTime())用这个做判断。试一下。条件自己去设置。
PrettyTime
Convert elapsed timestamps, like, “in 3 minutes!”
http://ocpsoft.com/prettytime/#docs
//当时的时间戳
private Long times = null;
//timesGetter
//timesSetter
public String toString(){
return new SimpleDateFormat("yyyy-MM-dd").format(new Date(times));
}
public String toString(String formatStr){
return new SimpleDateFormat(formatStr).format(new Date(times));
}
}
你可以往这个类里面再添加一些需要的属性,然后再添加一些 需要的方法就差不多了完全可以用Date直接写,不过用的地方多了封装一下就比较方便。
* 获取距离现在的时间
*/
public String getMinutes (){
long time = times - new Date().getTime();//time 单位是 毫秒
String res = null;
//转化成天数
//先判断是不是小于 60 * 60 * 1000 也就是 小于1小时,那么显示 : **分钟前
if(time < 60 * 60 * 1000){
res = (time / 1000 / 60 ) + "分钟前";
}
//如果大于等于1小时 小于等于一天,那么显示 : **小时前
else if(time >= 60 * 60 * 1000 && time < 24 * 60 * 60 * 1000){
res = (time / 1000 / 60 / 60 ) + "小时前";
}
//如果大于等于1小时 小于等于一天,那么显示 : **小时前
else if(time >= 24 * 60 * 60 * 1000){
res = (time / 1000 / 60 / 60 /24 ) + "天前";
}
//如果时间不明确或者发帖不足一分钟 ,则不显示
else{
res = "";
}
return res;
}
这里的 分钟 小时 和 天 的除法考虑的不全,只是简单的 把思路说一下啊一定要注意 除法的精确性带来的结果的不精确如果要求不是很严格的时间显示的话,那么上面那样写偏移量不大但是要是精确现实的话 就必须自己再去加一些 类似四舍五入的判断了