Я использую ionic 4 и firebase для проекта, и все идет отлично, за исключением дат.Я начал видеть в консоли предупреждения о том, что Date () будет прерываться в будущем и что Firebase должен использовать метку времени для хранения даты.
Для таких вещей, как созданные в или измененные во время, я могу использовать:
createdAt: firebase.firestore.FieldValue.serverTimestamp()
и он успешно сохранит текущую дату / время в качестве временной метки в базе данных.
Однако попытка передать определенную дату / время в качестве временной метки, похоже, не работает.У меня есть реактивная форма, и в ней есть ионный сборщик дат.HTML-код -
<ion-item>
<ion-label>Date/Time:</ion-label>
<ion-datetime formControlName="date" displayFormat="YYYY MMM DD @ HH:mm"></ion-datetime>
</ion-item>
, и тогда машинопись имеет реактивную форму, созданную со всеми именами элементов управления и валидаторами.Когда форма отправляется, я вызываю асинхронную функцию, которая отправляет все в firebase.
async create() {
const id = this.game ? this.game.id : '';
const data = {
createdAt: firebase.firestore.FieldValue.serverTimestamp(),
...this.game,
...this.gameForm.value,
};
this.db.updateAt(`games/${id}`, data);
this.modal.dismiss();
}
Однако дата в ионном датчике отправляется в виде карты вместо временной метки.Он имеет год / месяц / час / и т. Д.объекты вместо одной отметки времени.
В ионных документах указатель даты отображается в формате ISO.Кто-нибудь знает, почему это происходит или как я могу преобразовать его в метку времени?