我正在开发一个应用程序,想要像 facebook 一样显示时间差异。以下代码将时差显示为 yyyy-mm-dd hh:mm:ss

timestamp.toDate().difference(DateTime.now()).toString(),

我希望它以秒为单位显示时间(如果不到一分钟)。 60秒后,它应仅以分钟为单位显示时差,应删除秒部分。 60分钟后,应以小时,分钟和秒为单位显示时间,应删除部分。最终,当它有24小时时,它应该显示几天前的时间。
我们非常欢迎您提出宝贵的意见,建议和意见。任何帮助将不胜感激。提前致谢。

最佳答案

这是一个简单的条件。这是一个示例,您可以根据需要配置它

String getTimeDifferenceFromNow(DateTime dateTime) {
  Duration difference = DateTime.now().difference(dateTime);
  if (difference.inSeconds < 5) {
    return "Just now";
  } else if (difference.inMinutes < 1) {
    return "${difference.inSeconds}s ago";
  } else if (difference.inHours < 1) {
    return "${difference.inMinutes}m ago";
  } else if (difference.inHours < 24) {
    return "${difference.inHours}h ago";
  } else {
    return "${difference.inDays}d ago";
  }
}

关于flutter - 如何在像Facebook这样的 flutter 中显示时差,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62213548/

10-13 04:09