在 Flutter 中显示两个 Firestore 时间戳值之间的差异

Posted

技术标签:

【中文标题】在 Flutter 中显示两个 Firestore 时间戳值之间的差异【英文标题】:Display the difference between two Firestore Timestamp values in Flutter 【发布时间】:2021-04-08 17:49:18 【问题描述】:

我在 Flutter(Dart) 中将 startdate 和 endDate 作为用户的输入,并将 DateTime 作为数据类型。这些字段将存储在 Firestore 中,可能是时间戳格式。 现在我们需要在客户端显示 endDate 和 startDate 的差异,它可以是一个实时计时器,格式为“13 Hrs 45 mins”,然后在几分钟后应该是“13 Hrs 42 mins”。

我可以知道我们如何使用 Firestore 或可能是 Flutter 应用程序的云功能来实现这一点吗? 谢谢

【问题讨论】:

【参考方案1】:

在颤振中,Timestamp 可以很容易地转换为DateTime,并且DateTime 有一个称为difference 的便捷方法,它可以将两个DateTime 对象之间的区别为Duration 对象。

这是一个简单的例子:

final Timestamp endTime = Timestamp(1000, 0);
final Timestamp startTime = Timestamp(500, 0);
final DateTime endTimeDate = endTime.toDate();
final DateTime startTimeDate = startTime.toDate();
final Duration difference = endTimeDate.difference(startTimeDate);

【讨论】:

谢谢。我以 DateTime 格式输入如下:- selectedStartDate = 2021-01-03 10:41:00.000 selectedEndDate = 2021-01-05 16:41:00.000 我得到的差异持续时间为:54:00:00.000000 所以我的最好的输出应该是 54 Hrs 00 mins。你能在这里帮忙怎么做吗? @Akshay 你可以这样做:***.com/questions/54775097/…

以上是关于在 Flutter 中显示两个 Firestore 时间戳值之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Firestore:从 Firestore 中检索数据并在 Flutter 中显示为小部件

如何在 Flutter Firestore 提供程序中显示数据

Flutter 如何在 Firestore 中组合多个文档中的值以与列表中的相应卖家一起显示

在 Flutter 中的垂直 ScrollView 内的水平 ListView 中显示来自 Firestore 的数据

Flutter - 如何从 Firestore 中检索 ID 列表并在 GridView 中显示它们的项目?

Flutter 根据 FireStore 数据字段显示单独的页面