You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio新手求助:如何通过Firebase获取字符串格式时间戳?

获取Firebase时间戳的字符串格式解决方案

嘿,作为Android Studio新手能上手Firebase已经超棒啦!你现在用ServerValue.TIMESTAMP存入的是Firebase服务器生成的毫秒级长整型时间戳,要转换成字符串格式可以分两种场景处理,下面给你详细说明:

场景1:读取Firebase中的时间戳并转字符串

这是最推荐的方式(因为ServerValue.TIMESTAMP是服务器时间,比客户端时间更准确),当你从数据库读取到这个字段后,把Long类型的时间戳直接转成字符串,或者进一步格式化成可读性强的时间字符串:

代码示例

// 读取指定节点的时间戳
queue.child(UserInfo).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        if (snapshot.exists()) {
            // 获取Firebase存储的长整型时间戳
            Long timestamp = snapshot.child("timestamp").getValue(Long.class);
            
            if (timestamp != null) {
                // 方式1:直接转为毫秒数字符串
                String timestampStr = String.valueOf(timestamp);
                Log.d("FirebaseTimestamp", "字符串格式时间戳:" + timestampStr);

                // 方式2:格式化为友好的时间字符串(如yyyy-MM-dd HH:mm:ss)
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
                String formattedTime = dateFormat.format(new Date(timestamp));
                Log.d("FormattedTime", "格式化后的时间:" + formattedTime);
            }
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {
        Log.e("FirebaseError", "读取时间戳失败:" + error.getMessage());
    }
});

场景2:存入时直接存储字符串格式的时间戳

如果你希望存入的就是字符串而不是长整型,可以放弃ServerValue.TIMESTAMP,改用客户端生成时间字符串(注意:这种方式依赖客户端系统时间,可能有偏差):

代码示例

// 生成当前时间的毫秒级字符串
String timestampStr = String.valueOf(System.currentTimeMillis());

Map<String, Object> map = new HashMap<>();
map.put("timestamp", timestampStr);
queue.child(UserInfo).updateChildren(map);

额外提示

如果你使用的是Firebase Firestore(而非实时数据库),逻辑类似:存入用FieldValue.serverTimestamp(),读取后得到Timestamp类型,转字符串可以用timestamp.toString(),或者转成Date后再格式化。

内容的提问来源于stack exchange,提问作者Molly Sin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:10:13