在鸿蒙Next(HarmonyOS NEXT)开发中,如果数组元素包含时间字段,可以使用 Array.sort() 方法配合时间戳比较实现倒序排序。以下是具体方法:
- 如果时间字段是字符串格式(如 “2023-10-01 12:00:00”):
 
let array = [
  { time: "2023-10-01 12:00:00", name: "事件A" },
  { time: "2023-11-01 09:30:00", name: "事件B" },
  { time: "2023-09-15 15:45:00", name: "事件C" }
];
array.sort((a, b) => {
  return new Date(b.time).getTime() - new Date(a.time).getTime();
});
- 如果时间字段是时间戳(毫秒数):
 
array.sort((a, b) => b.timestamp - a.timestamp);
- 如果使用 @ohos.base 中的 DateTime:
 
import { DateTime } from '[@ohos](/user/ohos).base';
array.sort((a, b) => {
  const timeB = DateTime.fromISOString(b.time);
  const timeA = DateTime.fromISOString(a.time);
  return timeB.toMillis() - timeA.toMillis();
});
关键点:
- 使用 
sort() 方法并传入比较函数 
- 比较函数返回正值时,
b 会排在 a 前面,实现倒序 
- 确保时间格式正确,建议统一转换为时间戳进行比较
 
排序后数组将按时间从最新到最旧排列。