今天在计算两段时间的差值时发现12点竟然小于11点,经过多次的测试才发现,系统会将12点当做零点,也只有12点这一个小时会出现这样的问题,解决方法呢也非常简单,当你判断时间为12点时就在这个实践基础上加12个小时就好了(比如计算相差分钟数就加720)。
下面是常见的计算时间差距的方法:
//字符串转时间 parse方法 SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); long nd = 1000 * 24 * 60 * 60; long nh = 1000 * 60 * 60; long nm = 1000 * 60; // long ns = 1000; // 获得两个时间的毫秒时间差异 long diff = endDate.getTime() - nowDate.getTime(); // 计算差多少天 long day = diff / nd; // 计算差多少小时 long hour = diff % nd / nh; // 计算差多少分钟 long min = diff % nd % nh / nm; // 计算差多少秒//输出结果 // long sec = diff % nd % nh % nm / ns; return day + "天" + hour + "小时" + min + "分钟";