Java 计算两个时间相差的天,时,分钟,秒

深碍√TFBOYSˉ_ 2022-02-26 20:48 450阅读 0赞

https://blog.csdn.net/persistencegoing/article/details/84376427

第一种:

public static String getDatePoor(Date endDate, Date nowDate) {

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 + “分钟”;

}

第二种:

  1. /**
  2. * 把时间根据时、分、秒转换为时间段
  3. * @param str 可选其1值{ "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }
  4. * @author String ?日前或?小时前或?分钟前?秒前
  5. */
  6. public static String getTimes(Object str){
  7. String resultTimes = "";
  8. Date now;
  9. Date date=parseDate(str);
  10. now = new Date();
  11. long times = now.getTime() - date.getTime();
  12. long day = times / (24 * 60 * 60 * 1000);
  13. long hour = (times / (60 * 60 * 1000) - day * 24);
  14. long min = ((times / (60 * 1000)) - day * 24 * 60 - hour * 60);
  15. long sec = (times / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
  16. StringBuffer sb = new StringBuffer();
  17. if(day>0){
  18. sb.append(day + "天前");
  19. }else if (hour > 0) {
  20. sb.append(hour + "小时前");
  21. } else if (min > 0) {
  22. sb.append(min + "分钟前");
  23. } else if (sec >0){
  24. sb.append(sec + "秒前");
  25. }else if(times>=0){
  26. sb.append(times + "毫秒前");
  27. }else{
  28. sb.append("超前毫秒数:"+times);
  29. }
  30. resultTimes = sb.toString();
  31. return resultTimes;
  32. }

希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职

群号:721 515 304

发表评论

表情:
评论列表 (有 0 条评论,450人围观)

还没有评论,来说两句吧...

相关阅读