我创建了一个返回时间跨度的C#REST WCF服务。在客户端,我获得了像PT14H,PT16H等JSON序列化返回值。如何将此字符串转换为实际时间跨度?
答案 0 :(得分:3)
JavaScript没有TimeSpan
数据类型,但您可以使用moment.js.
Moment.js
支持ISO 8601个时间间隔(就像.NET TimeSpan
),它们被称为 durations
。
它包括基本的算术运算:如果你减去你获得持续时间的日期,如果你添加日期和持续时间你会得到日期,如果你加上或减去持续时间你会得到.NET DateTime and TimeSpan
的持续时间。
实施例:
var now= moment();
// 7 hour time span
var timeSpan = moment.duration('PT7H');
// addition
alert(now.add(timeSpan).format());

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.2/moment.min.js"></script>
&#13;
答案 1 :(得分:1)
据我所知不支持。
使用this library。
答案 2 :(得分:1)
在我的情况下,JSON结果看起来像PT14H代表时间14:00:00而PT9H25M25S代表时间9:25:25。这意味着PT代表时间部分,H代表小时部分,M代表分钟部分,S代表秒部分。