通过控制面板将新数据添加到 Firebase 实时数据库时,用户通常需要包括当前日期和时间。此数据可用于跟踪用户活动、管理日志或排序和过滤条目。
建议的方法是将当前日期和时间存储为 TIMESTAMP。 Firebase 提供了一个 ServerValue.TIMESTAMP 常量,在写入操作期间用作子值时,该常量会自动生成服务器端时间戳。
要使用 Java 将 TIMESTAMP 包含在数据中,请使用以下代码:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); Map<String, Object> map = new HashMap<>(); map.put("timestamp", ServerValue.TIMESTAMP); ref.child("yourNode").updateChildren(map);
要在 Java 中以 Long 形式检索 TIMESTAMP,请使用以下代码:
public static String getTimeDate(long timestamp) { try { DateFormat dateFormat = getDateTimeInstance(); Date netDate = new Date(timestamp); return dateFormat.format(netDate); } catch (Exception e) { return "date"; } }
在您的模型中类中,时间戳字段应表示为:
public class YourModelClass { private Map<String, String> timestamp; public YourModelClass() {} // Public getters and setters for timestamp }
请记住,使用 ServerValue.TIMESTAMP 时,时间戳仅在写入操作完成后出现在数据库中。
获取当前时间戳的另一种方法是使用 Cloud Functions for Firebase。这可以通过以下代码来完成:
exports.currentTime = functions.https.onRequest((req, res) => { res.send({"timestamp": new Date().getTime()}) });
在云端托管此函数允许您无需用户交互即可获取服务器时间戳。
以上是如何在 Firebase 实时数据库中高效存储和检索时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!