Android/java 仿微信聊天列表时间显示规则

1

Android/java 仿微信聊天列表时间显示规则

好的,我将详细描述Android/java中仿微信聊天列表时间显示规则。

今天

当聊天记录的时间在当前日期内时,时间显示为HH:mm格式。例如,如果当前时间是2023年3月15日14点30分,那么昨天的时间显示为"昨天14:30"。

```java// 获取当前时间Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) +1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 判断是否是今天if (year == currentYear && month == currentMonth && day == currentDay) {

// 显示HH:mm格式 return String.format("%02d:%02d", hour, minute);

}

```

昨天

当聊天记录的时间在昨天日期内时,时间显示为"昨天 HH:mm"格式。例如,如果当前时间是2023年3月15日14点30分,那么昨天的时间显示为"昨天14:30"。

```java// 获取当前时间Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) +1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 判断是否是昨天if (year == currentYear && month == currentMonth && day -1 == currentDay) {

// 显示"昨天 HH:mm"格式 return String.format("昨天 %02d:%02d", hour, minute);

}

```

近7天

当聊天记录的时间在最近7天内时,时间显示为星期X HH:mm格式。例如,如果当前时间是2023年3月15日14点30分,那么3天前的时间显示为"星期三14:30"。

```java// 获取当前时间Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) +1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 判断是否在近7天内if (year == currentYear && month == currentMonth && day -7 <= currentDay) {

// 获取星期名称 String week = getWeekName(day - (day -7));

// 显示星期X HH:mm格式 return String.format("%s %02d:%02d", week, hour, minute);

}

// 获取星期名称private String getWeekName(int day) {

switch (day) {

case0:

return "星期日";

case1:

return "星期一";

case2:

return "星期二";

case3:

return "星期三";

case4:

return "星期四";

case5:

return "星期五";

case6:

return "星期六";

}

}

```

今年

当聊天记录的时间在当前年内时,时间显示为M月d日 HH:mm格式。例如,如果当前时间是2023年3月15日14点30分,那么昨天的时间显示为"3月14日14:30"。

```java// 获取当前时间Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) +1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 判断是否在今年内if (year == currentYear) {

// 显示M月d日 HH:mm格式 return String.format("%d月%d日 %02d:%02d", month, day, hour, minute);

}

```

往年

当聊天记录的时间在往年的日期内时,时间显示为yyyy年M月d日 HH:mm格式。例如,如果当前时间是2023年3月15日14点30分,那么2018年的时间显示为"2018年6月9日06:52"。

```java// 获取当前时间Calendar calendar = Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

int month = calendar.get(Calendar.MONTH) +1;

int day = calendar.get(Calendar.DAY_OF_MONTH);

// 判断是否在往年内if (year > currentYear) {

// 显示yyyy年M月d日 HH:mm格式 return String.format("%d年%d月%d日 %02d:%02d", year, month, day, hour, minute);

}

```

以上是Android/java中仿微信聊天列表时间显示规则的详细描述。

聊天

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信聊天记录备份到电脑上还是不能看

下一篇 VB.net 解密电脑微信聊天记录各格式图片文件