【发布时间】:2013-07-21 18:32:56
【问题描述】:
我的 C# 服务器端模型有一个 TimeSpan 属性(用于存储一天中的时间),在 Breeze 检索时,该属性作为时间跨度的 ISO 文字返回。因此,9hrs (09:00) 的 TimeSpan 返回为“PT9H”。将其转换为更用户友好的 09:00 字符串(将受 UI 时间选择器小部件约束)的最佳方法是什么?
我正在使用 Knockout 绑定到我的 HTML 元素。
【问题讨论】:
-
它尚未合并,但用于 ISO 持续时间解析的 a pull request 最近已添加到 moment.js。所以 moment.js 的 next 版本将能够处理这个问题。
-
所以我会使用 Knockout 计算来使用 moment.js 进行转换?您能否在答案中发表您的评论,以便我可以信任它?谢谢。
-
您还可以创建一个自定义绑定处理程序,在此期间将您的格式转换为 9:00。这将是绑定处理程序的完美场景
-
我宁愿等待看看其他人是否有您今天可以使用的解决方案。在moment.js的下一个版本之后,我总是可以回到这里再次回答。
-
@kadumel - 很好的建议。一些人已经在常规时刻这样做了,例如this guy。暂时会略有不同。duration,但可以使用相同的通用方法。
标签: c# knockout.js breeze timespan momentjs