java - 如何在android中将时间戳字段从firestore转换为日期?
问题描述
我在文档中有一个字段 createAt (timestamp)。当我从 Firestore 获取它时,我收到下面的构造函数。如何将其转换为 Java 中的日期?
D/TEST:时间戳字段:时间戳(秒=1621098000,纳秒=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"));
}
}
}
}});
我已经尝试将此时间戳转换为长但它不起作用
解决方案
我只是为我的问题找到解决方案
Timestamp ts = (Timestamp) billArrayList.get(0).get("createAt");
Date createAt = ts.toDate();