Запись текущей даты и времени на базу - PullRequest
0 голосов
/ 22 января 2019

используя этот код с прослушивателем при нажатии кнопки

users.child(user.getUid()).child("Date").setValue(ServerValue.TIMESTAMP);

, но я не хочу, чтобы он был TIMESTAMP, как 1548105297646

Ожидаемые результаты:

ОтС 1548105297646 по 19/1/2019 19: 33: 40

проверьте мою базу данных Firebase с ожидаемыми результатами

Firebase database

Есть ли код вместо(ServerValue.TIMESTAMP) ???

Ответы [ 2 ]

0 голосов
/ 22 января 2019

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

Если вы хотите записать строку в базу данных, то составьте строку самостоятельно и запишите это значение.Но я предполагаю, что написание числа является гораздо лучшим вариантом, так как их легче искать и сортировать в базе данных.Возможно, вам следует отформатировать это значение даты на клиенте.Java (и Android в частности) имеют отличные библиотеки форматирования даты и времени, которые вы можете использовать.

0 голосов
/ 22 января 2019

Нет, вы не можете напрямую записать время сервера в базу данных в формате DateTime.

У вас есть один из двух вариантов:

1 - записать время сервера как метку времени, затем, когда вычитать его, когда вы хотите использовать его для преобразования (это то, что я делаю)

2 - если ЭТО действительно нужно хранить в формате DateTime, то вы можете написать метку времени сервера, прочитать ее, преобразовать ее, напишите это как DateTime.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...