【问题标题】:How to convert timestamp field from firestore to Date in android? [duplicate]如何在android中将时间戳字段从firestore转换为日期? [复制]
【发布时间】:2021-08-11 19:28:45
【问题描述】:

我在文档中有一个字段 createAt(时间戳)。当我从 Firestore 获取它时,我收到下面的构造函数。如何在 Java 中将其转换为日期?

D/TEST:时间戳字段:Timestamp(seconds=1621098000, nanoseconds=0)

这是我的代码

fStore.collection("Bill").whereEqualTo("userID", userID).get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
            @Override
            public void onComplete(@NonNull Task<QuerySnapshot> task) {
                if (task.isSuccessful()) {
                    if (!task.getResult().isEmpty()) {
                        for (QueryDocumentSnapshot document : task.getResult()) {
                            ArrayList<Map<String, Object>> billArrayList = new ArrayList<>();
                            billArrayList.add(document.getData());
                            String id = document.getId();
                            Integer addressID = Integer.parseInt(billArrayList.get(0).get("addressID").toString());
                            //Timestamp ts = (Timestamp) billArrayList.get(0).get("createAt");
                            Log.d("TEST", "Timestamp field: " + billArrayList.get(0).get("createAt"));
                        }
                    }
                }
            }}); 

我已尝试将此时间戳转换为长,但它不起作用

【问题讨论】:

  • @MuhammadBilalBangash 感谢您的帮助。我只是为我的问题找到解决方案。它让我如此疯狂。 Timestamp ts = (Timestamp) billArrayList.get(0).get("createAt"); Date createAt = ts.toDate();

标签: java android date google-cloud-firestore timestamp


【解决方案1】:

我只是找到解决问题的方法

Timestamp ts = (Timestamp) billArrayList.get(0).get("createAt");
Date createAt = ts.toDate();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    相关资源
    最近更新 更多