React Native Parse Firestore Timestamp - PullRequest
0 голосов
/ 12 мая 2018

Я понимаю, что существует абсолютно 0 документов о том, как анализировать временную метку пожарной базы / пожарного депо в реакции.

Как показано здесь https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp

Метка времени в пожарной базе состоит из секунд и миллисекунд.

var newobj={
        uid_to:'K365J32fddel3QTxGG94VksXtQP2',
        uid_from:'RqVngIRyiJV2XTogLSONZIqoe5h1',
        monto:23,
        fecha:new Date(),
        user:{
            from_name:"fabri"
        },
        status:'pending'
    }
    firestore.collection('transacciones').add(newobj);
  }

Тогда в консоли это выглядит так:

enter image description here

И когда я делаю запрос, это приносит

Object {
  "fecha": Timestamp {
    "nanoseconds": 960000000,
    "seconds": 1526130923,
  },
  "monto": 23,
  "status": "pending",
  "uid_from": "RqVngIRyiJV2XTogLSONZIqoe5h1",
  "uid_to": "K365J32fddel3QTxGG94VksXtQP2",
  "user": Object {
    "from_name": "fabri",
  },
}

Как мне разобрать ее в простую дату или снова в дату-время?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Просто вызовите .toDate() объекта метки времени в хранилище, чтобы превратить его в объект даты JS.

Так что для вас это будет что-то вроде object.fecha.toDate(). Затем вы можете использовать это для сравнения дат или использовать любой другой метод дат. Вы также можете затем передать его в момент.

Вам не нужно обязательно устанавливать время с помощью метода serverTimestamp(), использование new Date() нормально.

0 голосов
/ 17 октября 2018

Я тоже боролся с этим, и поскольку я не нашел ответов ни на SO, ни где-либо еще, вот решение, которое я получил методом проб и ошибок. Для полноты вот как я сохранил поле метки времени в коллекции статей:

saveArticle() {
  firebase.firestore().collection('articles').add({ 
    title: this.state.title,
    createdAt: firebase.firestore.FieldValue.serverTimestamp(),
  })
}

Затем, чтобы отобразить дату, вам нужно вызвать метод toDate () объекта, преобразовать его в JavaScript-объект Date, а затем преобразовать в строку даты. Так что в рендере у меня есть ниже. Надеюсь, это сэкономит кому-то время.

<Text>{new Date(this.state.article.createdAt.toDate()).toDateString()}</Text>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...