仿微信时间显示说明
1、当天的消息,以每5分钟为一个跨度的显示时间;
2、消息超过1天、小于1周,显示星期+收发消息的时间;
3、消息大于1周,显示手机收发时间的日期。
如在这5分钟内有10个时间,且都是5分钟内的时间,那么则显示最早的数据,其他9个时间都重新赋值-1;超过一天和超过一周情况以此类推。
花一定时间才实现的实属不易呀
先看效果:
package com.company.util.time;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
/**
* 在这个版本中,我们使用HashMap来存储每个5分钟桶的最早时间,并使用另一个HashMap来存储每个时间点的显示值。
* 在最终的处理中,我们检查每个时间点是否是其桶中的最早时间点。如果是,我们根据时间距离现在的远近选择格式进行显示;
* 如果不是,我们将其标记为-1。这样可以确保每个5分钟桶中只有一个时间点被显示,其他的