【问题标题】:Dart/Flutter: Firebase Timestamp to Date behaves different on different devicesDart/Flutter:Firebase Timestamp to Date 在不同设备上的行为不同
【发布时间】:2020-12-17 02:47:21
【问题描述】:

我有一个 Flutter 应用程序,我在我的 Firebase 中存储了带有活动日期的活动。

在我的应用中显示这些活动时,我注意到日期在不同设备上的转换方式不同。

调试时我的虚拟设备中的输出最终是 29.07.2018 而不是 30.07.2018。我该如何解决这个问题?

【问题讨论】:

  • 您是使用本地日期时间(默认)还是将它们转换为 utc?一般来说,如果你要远程存储日期,你应该使用 utc。
  • 不同的语言环境很可能是原因。此外,如果问题得到解决,则将解决方案标记为答案。

标签: android firebase date flutter timestamp


【解决方案1】:

这可能是由于语言环境而发生的。尝试使用https://pub.dev/packages/intl中的DateFormat

【讨论】:

    【解决方案2】:

    Firestore 时间戳始终以 UTC 格式存储,就像任何现代操作系统中的几乎所有其他日期类型一样。您在 Firebase 控制台中看到的是针对正在查看控制台的本地计算机上配置的区域设置格式化的日期。

    如果您想在您的应用程序中格式化时间戳,您应该考虑使用 Flutter 或您正在使用的任何平台提供的日期格式化实用程序。通常,用户希望看到针对自己选择的语言环境格式化的时间戳。

    【讨论】:

      猜你喜欢
      • 2016-05-28
      • 2021-01-24
      • 2017-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多