Дата в Firebase отображается в формате гггг-мм-дд, тогда как дата формы — дд-мм-гггг

#angularjs #firebase #firebase-realtime-database

#angularjs #firebase #firebase-realtime-database

Вопрос:

У меня проблема: мои данные, которые я отправляю в базу данных Firebase, отправляются как yyyy-mm-dd дата, тогда как дата в форме dd-mm-yyyy .

Я использовал slice, чтобы получить необходимые 000z, которые работали, но когда я хочу отобразить дату, она не будет отображаться из-за сохраненной даты в Firebase, которая находится в yyyy-mm-dd формате.

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

Комментарии:

1. В вашем JavaScript вы должны сохранять все даты либо в формате ISO8601, либо в виде структуры даты, используя объект Date, либо момент, используя Momentjs. Отправка на сервер должна происходить с использованием ISO8601. Затем уровень представления может отображать дату в любом формате, который вы хотите, используя различные встроенные настройки фильтра даты в Angular. В базе данных она всегда должна сохраняться как тип DateTime .

2. дата рождения: user.date.toJSON().slice(0, 10).toString(), это то, что я использую для ввода даты рождения: «2016-02-12» это то, что выводится в базе данных, на которую я смотрел moment.js но каков наилучший способ сделать это, чтобы яможет возвращать дату, если ее необходимо отредактировать

3. не используйте slice или toString для значений даты. если вы используете Date объект JavaScript, дата сохраняется как количество миллисекунд с полуночи 1 января 1970 года. Затем это может быть отформатировано так, как вам нравится.

Ответ №1:

Попробуйте это в привязке вашего шаблона HTML, посмотрите, работает ли это.

 {{date_expression (e.g 1288323623006) | date:'dd-MM-yyyy HH:mm:ss Z'}}