Javascript:Firefox中显示的无效日期

时间:2018-05-23 10:31:38

标签: ruby-on-rails angularjs date firefox momentjs

我从rails服务器获取元数据,我想在angularjs端显示属性图像date_time_original:

rails serializer返回元数据:

 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')
haml方面:

.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() }}

在谷歌浏览器中,它可以很好地工作,但在Firefox中却没有!

1 个答案:

答案 0 :(得分:0)

您只需指定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')