根据Long值求与当前系统时间的时间差
2016-06-20 11:50
411 查看
先上代码:
在一开始,我认为求两个Long值之间的时间差是很容易。
也没想那么多,之前计算两个时间点之间天数的公式是这么写的:
它会按照millis和time之间相隔的小时来判断输出!
例如:
time的时间是2016年6月19日17时00分00秒。
millis时间是2016年6月20日16时00分00秒。
那么将会返回"17:00",millis和time之间相隔了23个小时。
但是事实上需求希望返回的是"昨天17:00"是按照自然天来判断输出的。
所以计算两个时间点直接的公式应该为:
例如:
time的时间是2016年6月19日23时59分59秒。
millis时间是2016年6月20日00时00分01秒。
millis和time之间相隔了2秒。
返回的是"昨天23:59"了。
public class TimeUtil { public static String getTime(long time) { String result = ""; //millis表示当前系统时间,单位是:毫秒 long millis = System.currentTimeMillis(); int day = (int) (millis / 1000 / 3600 / 24 - time / 3600 / 24); switch (day) { case 0: SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); result = sdf.format(time * 1000); break; case 1: SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm"); result = "昨天 " + sdf2.format(time * 1000); break; case 2: SimpleDateFormat sdf3 = new SimpleDateFormat("HH:mm"); result = "前天 " + sdf3.format(time * 1000); break; default: SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy/MM/dd HH:mm"); result = sdf4.format(time * 1000); break; } return result; } }
在一开始,我认为求两个Long值之间的时间差是很容易。
也没想那么多,之前计算两个时间点之间天数的公式是这么写的:
int day = (int) ((millis/1000 - time)/3600/24);但是这么写就会出现一个问题:
它会按照millis和time之间相隔的小时来判断输出!
例如:
time的时间是2016年6月19日17时00分00秒。
millis时间是2016年6月20日16时00分00秒。
那么将会返回"17:00",millis和time之间相隔了23个小时。
但是事实上需求希望返回的是"昨天17:00"是按照自然天来判断输出的。
所以计算两个时间点直接的公式应该为:
int day = (int) (millis/1000/3600/24 - time/3600/24);这么写,就能按照自然天来判断了。
例如:
time的时间是2016年6月19日23时59分59秒。
millis时间是2016年6月20日00时00分01秒。
millis和time之间相隔了2秒。
返回的是"昨天23:59"了。
相关文章推荐
- Android编译过程详解
- svn操作导致桌面文件左下角显示蓝色问号
- 这些生活小常识,你知道吗?
- 跨网访问解决恩路
- 逻辑回归
- TCPDump:捕获并记录特定协议 / 端口
- Java程序获得本机的ip+tomcat端口等
- static作用(修饰函数、局部变量、全局变量)
- 玩玩负载均衡---在window与linux下配置nginx
- canvas
- Ajax基础详解1
- Thread sleep方法
- <script type="text/javascript">alert("hello world");</script>
- IntentService 源码分析
- python socket发http GET请求数据包
- TransitionDrawable使用以及动画效果
- Android studio 出现 Unsupported major.minor version 52.0
- 级联菜单,两级菜单
- 用批处理对MySQL进行数据操作
- CRC查表法——表的由来及Java实现CRC8校验算法