Javascript: неверная дата отображается в Firefox - PullRequest
0 голосов
/ 23 мая 2018

Я получаю метаданные с сервера rails и хочу показать изображение атрибута 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!

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете просто решить эту проблему, указав dateTime текущий формат даты.

ex: 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

ex: moment(@metadata.date_time_original, 'YYYY-MM-DD HH:mm:ss Z').format('DD/MM/YYYY HH:MM')

...