我的C#服务器端模型具有TimeSpan属性(用于存储一天中的某个时间),Breeze检索时将其作为timepans的ISO文字返回。因此,9小时(09:00)的TimeSpan将返回为“PT9H”。将此转换为更友好的09:00字符串(将受到UI时间戳小部件限制)的最佳方式是什么?
我正在使用Knockout绑定到我的HTML元素。
答案 0 :(得分:5)
我发现处理ISO 8601持续时间的最佳解决方案是使用moment.js库的moment-isoduration插件。回复:https://github.com/dordille/moment-isoduration
使用您的示例:
var duration = moment.duration.fromIsoduration('PT9H');
返回具有_milliseconds属性的duration对象,因此调用
moment.utc(duration._milliseconds).format('hh:mm')
应该返回“09:00”