【问题标题】:Date in Firebase displays as yyyy-mm-dd format whereas form date is dd-mm-yyyyFirebase 中的日期显示为 yyyy-mm-dd 格式,而表单日期为 dd-mm-yyyy
【发布时间】:2016-10-19 07:12:45
【问题描述】:

我有一个问题,我在 Firebase 数据库中提交的数据以 yyyy-mm-dd 提交,这是日期,而表单中的日期是 dd-mm-yyyy

我使用 slice 来获得必要的 000z,但当我想显示日期时它不会显示,因为 Firebase 中存储的日期是 yyyy-mm-dd 格式。

有人知道如何更改提交到 firebase 的格式或任何其他方式来获取表单中设置的日期吗?

【问题讨论】:

  • 在您的 JavaScript 中,您应该将所有日期保存为 ISO8601 格式或使用 Date 对象的日期结构或使用 Momentjs 的时刻。应该使用 ISO8601 提交到服务器。 表示层然后可以使用Angular中的各种内置日期过滤器设置以您想要的任何格式显示日期。在数据库中,它应该始终作为 DateTime 类型持久化。
  • dateofbirth: user.date.toJSON().slice(0, 10).toString(), 这是我用来推送日期 dateofbirth:"2016-02-12" 这是什么db 中的输出我查看了 moment.js,但最好的方法是什么,以便我可以返回日期以防需要编辑
  • 不要在日期值上使用 slicetoString。如果您使用的是 JavaScript Date 对象,则日期存储为自 1970 年 1 月 1 日午夜以来的毫秒数。然后可以根据需要对其进行格式化。

标签: angularjs firebase firebase-realtime-database


【解决方案1】:

在你的 HTML 模板绑定中试试这个,看看它是否有效。

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

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多