Как получить текущую временную метку сервера firebase за миллисекунды? - программирование

Как получить текущую временную метку сервера firebase за миллисекунды?

Я хотел получить текущую временную метку firebase, не в состоянии найти способ ее получить. Я хочу сохранить ребенка, как показано на изображении. И для этого я должен получить timestamp и получить дату соответственно. Пожалуйста, помогите...

here is the result I want to get

4b9b3361

Ответ 1

Вы можете установить время сервера, используя ServerValue.TIMESTAMP, который является типом Map<String, String> с парой {".sv" : "timestamp"}. Когда он будет отправлен в базу данных firebase, он будет преобразован в Long Unix epoch time, как этот 1469554720.

Итак, проблема в том, что вы не можете установить это как ключ напрямую. Наилучший подход - установить временную метку внутри вашего объекта и использовать DatabaseReference.push() для получения гарантированного уникального ключа.

Например

DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
String key = ref.push().getKey(); // this will create a new unique key
Map<String, Object> value = new HashMap<>();
value.put("name", "shesh");
value.put("address", "lucknow");
value.put("timestamp", ServerValue.TIMESTAMP);
ref.child(key).setValue(value);

Если вы хотите сохранить его в этом формате (dd-mm-yyyy), там взломать, но это не рекомендуется. Вам сначала нужно сохранить его (ServerValue.TIMESTAMP) в другой временный node, а затем извлечь временную метку, прежде чем преобразовывать ее в этот формат с помощью класса Date.