ListView.builder 以前的 Flutter DateTime 格式

Flutter DateTime formate in Time ago in ListView.builder

我有 PageView.builder 小部件,它正在从我的服务器获取数据。

PageView.builder(
    itemCount: _newsList.length,
          itemBuilder: (context, index){
            if(_newsList.isNotEmpty){
            return Text(_newsList[index].posted!);
       } else Container("Empty");
}
)

我导入了https://pub.dev/packages/timeago
但不能在 PageView.builder().

中使用

请帮我整理一下。

 String timeAgo(DateTime fatchedDate) {
        DateTime currentDate = DateTime.now();
    
        var different = currentDate.difference(fatchedDate);
    
        if (different.inDays > 365)
          return "${(different.inDays / 365).floor()} ${(different.inDays / 365).floor() == 1 ? "year" : "years"} ago";
        if (different.inDays > 30)
          return "${(different.inDays / 30).floor()} ${(different.inDays / 30).floor() == 1 ? "month" : "months"} ago";
        if (different.inDays > 7)
          return "${(different.inDays / 7).floor()} ${(different.inDays / 7).floor() == 1 ? "week" : "weeks"} ago";
        if (different.inDays > 0)
          return "${different.inDays} ${different.inDays == 1 ? "day" : "days"} ago";
        if (different.inHours > 0)
          return "${different.inHours} ${different.inHours == 1 ? "hour" : "hours"} ago";
        if (different.inMinutes > 0)
          return "${different.inMinutes} ${different.inMinutes == 1 ? "minute" : "minutes"} ago";
        if (different.inMinutes == 0) return 'Just Now';
    
        return fatchedDate.toString();
      }

要使用,将 timeago 导入为:

import 'package:timeago/timeago.dart' as timeago;

要在小部件中使用 timeago:

Text(timeago.format(DateTime.fromMillisecondsSinceEpoch(dateTimeMillis))); //or other DateTime object