Я получаю метаданные с сервера rails, и я хочу показать атрибут image date_time_original на стороне angularjs:
Сериализатор rails возвращает метаданные:
module Api::V1::Angular
class MediumSerializer < BaseSerializer
attributes :src, :mediumable_type, :mediumable_id, :comment, :is_archived, :order, :metadata
и вот метод js:
getDateTimeOriginal: =>
if @metadata? and @metadata.date_time_original?
dateTime = new Date(@metadata.date_time_original)
moment(dateTime).format('DD/MM/YYYY HH:MM')
сторона окорока:
.col-md-6.thumbnail{ ng_repeat: "img in fragment.media() | notArchived | orderBy:'order'" }
%img.pointer{ ng_src: "{{ img.contentUrl() }}", ng_click:'openCarouselModal(img)' }
%p {{ img.comment }}
%p.photo-date
{{ img.getDateTimeOriginal() }}
В Google Chrome он работает отлично, но не в Firefox!
Спасибо VincenzoC за ваш ответ, я сделал для вас журнал консоли, и это значение @ metadata.date_time_original: 2018-05-09 09:46:47 UTC





Вы можете просто решить эту проблему, указав текущий формат даты dateTime.
пример: moment(dateTime, 'YYYY-MM-DD HH:mm:ss Z').format('DD/MM/YYYY HH:MM')
И если вы знаете формат @metadata.date_time_original, нет необходимости использовать new Date(). Единственное, что нужно указать текущий формат даты @metadata.date_time_original
пример: moment(@metadata.date_time_original, 'YYYY-MM-DD HH:mm:ss Z').format('DD/MM/YYYY HH:MM')
Какое значение имеет
@metadata.date_time_original? В любом случае, взгляните на этот вопрос Moment.js дает неверную дату в Firefox.