java - 在 iOS/Android 和 Firebase 中处理 Date 的最佳方法是什么?

标签 java android ios firebase swift3

我在 android 和 iOS (swift3) 中开发两个 native 应用程序,我的一些类使用 Date 对象,但是当我将一个 Date 对象从 android 保存到 Firebase 实时数据库中时,结构是这样的:

创建日期:{ 日期:3 天:2 小时数:17 分钟:27 月:9 秒数:43 时间:1507062463000 时区偏移量:180 年份:117 }

但这不是 iOS 中的常见结构(当然是通过我的搜索)。

什么是更好的解决方案:

  1. 在 iOS 中创建一个编码器/解码器来读写这个结构?
  2. 更改 android 中的读写以使用 is 日期保存在 firebase 中?像这样 (yyyy-MM-dd'T'HH:mm:ss.SSSZZZZZ)

谢谢

最佳答案

我推荐使用 FIRServerValue.timestamp()。这将确保在将数据保存到数据库时使用 Firebase 服务器时间戳,这是最准确的时间,因为它不能被用户篡改,并​​且在 iOS 和 Android 上完全相同。

保存的数据是自 1970 年以来的毫秒数,您可以轻松将其转换为日期对象。

例如( swift ):

myRef.setValue(FIRServerValue.timestamp())

编辑:Firebase 4

myRef.setValue(ServerValue.timestamp())

关于java - 在 iOS/Android 和 Firebase 中处理 Date 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46570158/

相关文章:

包的 javac 编译问题

Android - AVD 删除用户数据不起作用

javascript - 如何在 React Native 中模糊文本

android - Videogular Player 在 Android 智能手机上显示幻灯片

ios - 通过 xib 文件的类没有标识符为 'searchSegue' 的 segue

iphone - 通过 UIAppearance 自定义 UIBarButtonItem 后 UIControlStateSelected 的按钮图像不起作用

ios - 适用于 iOS 7+ 的哪个 swift 版本

java - 子集总和但偶数子集大小

java - Android for循环在主线程中不起作用

java - 限制映射键和值类型 - 更复杂