0

我以这种格式从服务器接收日期:Thu Apr 25 16:47:10 UTC+0200 2013.

类型是Date

我希望日期以DD/MM/YYYY格式显示。所以我使用了 Moment.js 并在我的实体的初始化函数中,调用 from registerEntityTypeCtor,我这样做:

myEntity.CreatedDate = moment.utc(myEntity.CreatedDate).format('DD/MM/YYYY');

尽管该代码返回格式正确的日期,但 myEntity.CreatedDate 保持不变。实际上,如果我在 Visual Studio 调试器中检查并展开属性,它会显示“原型:无效日期”。

我有两个问题:

  1. 我做对了吗?即,在 registerEntityTypeCtor 中进行转换是件好事吗?
  2. 为什么它不起作用:-)?
4

2 回答 2

2

微风日期是javascript日期。您正在做的是使用字符串设置日期属性。Breeze 然后尝试通过 javascript 的Date.parse方法将字符串解析为日期以验证它。如果这失败了,Breeze 就不管它。

一般来说,如果你想格式化任何日期属性,这应该在模型中完成,而应该在视图中完成。换句话说,无论您在哪里显示日期,这都是将日期转换为字符串的最佳位置。如果您使用 ko 或 angular 之类的绑定库,它们都提供了执行此操作的机制,大多数 javascript 模板引擎也是如此。

于 2013-05-02T16:39:17.890 回答
0
moment("myEntity.CreatedDate", "Do MMM YYYY").format("DD/MM/YYYY")

根据您在 myEntity.CreatedDate 中获得的格式设置“Do MMM YYYY”

于 2013-05-15T11:33:25.077 回答