спасибо, я обновляю свой ответ, чтобы добавить некоторые выводы, ваш ответ поможет мне понять

аюсь установить эпоху, когда данные создаются в Firestore. Я рассчитываю получить некоторый результат, аналогичный тому, что делается в базе данных в реальном времени, используяServerValue.TIMESTAMP.

Я не хочу устанавливать его, используя время устройстваSystem.getCurrentMillis потому что это время может быть изменено пользователем.

Согласно сдокументы необходимо сделать обновление, проблема с форматом. Это мой код:

Map<String, Object> map = new HashMap<>();
map.put("timestamp", FieldValue.serverTimestamp());
reference.update(map);

И это результат в веб-консоли Firebase:

Я был очень удивлен, что это по-испански, что может быть полезно в некоторых ситуациях, но я гонюсь за эпохой. Попытайтесь увидеть светлую сторону, придерживайтесь ее и подумали, что я вижу сеть на испанском, поэтому я изменил язык в селекторе нижнего колонтитула, он не изменился. На данный момент я предполагаю, что установлен на языке проекта.

Вернемся к попытке эпохи. Учитывая, что в моем проекте также используется база данных в реальном времени, я пытаюсь настроить ее следующим образом:

Map<String, Object> map = new HashMap<>();
map.put("timestamp", ServerValue.TIMESTAMP);
reference.update(map);

Он загрузил что-то, но это была чепуха.

Я думаю, что использование epoch в качестве метки времени на стороне сервера является лучшим стандартным подходом, после этого каждый клиент может преобразовать его в удобство и локаль пользователя.

Может ли эпоха быть установлена ​​в качестве значения сервера в Firestore?

ОБНОВИТЬ

Ответ, помеченный как правильный, привел меня к некоторым интересным выводам, которыми я хотел бы поделиться, поэтому другие в той же ситуации могут извлечь выгоду из:

Нет необходимости устанавливать эпоху из-заFieldValue.serverTimestamp() это объект даты, обрабатываемый базой данных, и то, что мы видим в консоли, это просто удобный способ показать это.посколькуFieldValue.serverTimestamp() является объектом даты, его можно отсортировать, как и любую другую временную метку, если добавитьorderBy("timestamp", Query.Direction.DESCENDING) на ваш запрос (илиQuery.Direction.ASCENDING) он будет сортировать результаты правильно.И что касается комментария @ 34m0, это правильно, клиенты не должны заботиться о логике для установки времени создания, но это должно быть сделано в функциях.

Ответы на вопрос(1)

Ваш ответ на вопрос