Flutter 颤振从列表中获取最接近现在的时间戳

Flutter 颤振从列表中获取最接近现在的时间戳,flutter,dart,timestamp,Flutter,Dart,Timestamp,如何从列表中获取最接近现在的时间戳 我得到了一个时间戳列表,我想确定未来最接近当前时间戳的时间戳 我怎样才能做到这一点呢?像这样的事情?我不确定您是如何表示时间戳的,因此我使用DateTime对象做了一个示例: void main() { final dateTimes = <DateTime>[ DateTime(2020, 8, 1), DateTime(2020, 8, 5), DateTime(2020, 7, 13), DateTime(

如何从列表中获取最接近现在的时间戳

我得到了一个时间戳列表,我想确定未来最接近当前时间戳的时间戳


我怎样才能做到这一点呢?

像这样的事情?我不确定您是如何表示时间戳的,因此我使用
DateTime
对象做了一个示例:

void main() {
  final dateTimes = <DateTime>[
    DateTime(2020, 8, 1),
    DateTime(2020, 8, 5),
    DateTime(2020, 7, 13),
    DateTime(2020, 7, 18),
    DateTime(2020, 8, 15),
    DateTime(2020, 8, 20)
  ];
  final now = DateTime(2020, 7, 14);
  
  final closetsDateTimeToNow = dateTimes.reduce(
      (a, b) => a.difference(now).abs() < b.difference(now).abs() ? a : b);

  print(closetsDateTimeToNow); // 2020-07-13 00:00:00.000
}
void main(){
最终日期时间=[
日期时间(2020年8月1日),
日期时间(2020年8月5日),
日期时间(2020年7月13日),
日期时间(2020年7月18日),
日期时间(2020年8月15日),
日期时间(2020年8月20日)
];
最终现在=日期时间(2020年7月14日);
final closetsDateTimeToNow=dateTimes.reduce(
(a,b)=>a.difference(now).abs()

注意,解决方案在列表中查找壁橱时间戳,并查看过去和未来。

这就像在列表中查找第二个最大值