如何在VB.Net中将ISO 8601持续时间转换为TimeSpan?
时间:2020-03-05 18:53:27 来源:igfitidea点击:
是否有一种标准的库方法,可以将具有标准ISO 8601持续时间(在XSD中也以"持续时间"类型使用)格式的持续时间的字符串转换为.NET TimeSpan对象?
例如,代表一个小时的持续时间的P0DT1H0M0S被转换为New TimeSpan(0,1,0,0,0)。
确实存在一个反向转换器,其工作方式如下:
Xml.XmlConvert.ToString(New TimeSpan(0,1,0,0,0))
上面的表达式将返回P0DT1H0M0S。
解决方案
回答
这将从xs:duration转换为TimeSpan:
System.Xml.XmlConvert.ToTimeSpan("P0DT1H0M0S")
请参阅http://msdn.microsoft.com/en-us/library/system.xml.xmlconvert.totimespan.aspx