Как сказал @Doug, нет никакого способа получить только время от Firebase. Тем не менее, есть много способов сделать то же самое.
Во-первых, , вы можете использовать обратный отсчет, используя устройство пользователя приложения, поскольку все время в сегодняшнюю эпоху синхронизируется со спутником. , Это можно сделать с помощью:
Date dateStart = new Date();
Date dateEnd = new Date();
System.out.println(dateEnd.getTime() - dateStart.getTime()/1000);
Во-вторых , создайте объект в firebase для времени начала (для конкретного пользователя), а затем, когда обратный отсчет закончится, подсчитайте разницу между текущее время и время, загруженное в базу данных.
FirebaseFirestore db = FirebaseFirestore.getInstance();
// At the time of setting.
Map<String, Object> map= new HashMap<>();
map.put("startTime", (new Date()).getTime());
db.collection(userdata).document(userid).set(map);
// At the time of retrieving:
db.collection(userdata).document(userid).get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
// Here you can get the time..
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
Теперь, если вам не нравится какой-либо из вышеперечисленных методов, вы можете отправить запрос в службу поддержки на время в https://firebase.google.com/support