c# 是否支持将两个DateTime
's 转换为xs:duration
数据类型?(我假设我需要两个DateTime
值?)
参考资料:http ://www.w3.org/TR/xmlschema-2/#duration和http://www.w3schools.com/schema/schema_dtypes_date.asp(中途)
c# 是否支持将两个DateTime
's 转换为xs:duration
数据类型?(我假设我需要两个DateTime
值?)
参考资料:http ://www.w3.org/TR/xmlschema-2/#duration和http://www.w3schools.com/schema/schema_dtypes_date.asp(中途)
XMLConvert
课堂上对此有支持,如下所述:http: //kennethxu.blogspot.de/2008/09/xmlserializer-doesn-serialize-timespan.html
我最终使用了这段代码,它正确显示了 xml 中的值
[XmlElementAttribute("ValidThrough", DataType = "duration")]
[DataMember(Name = "ValidThrough")]
[DefaultValue("P10D")]
public string ValidThrough
{
get
{
return XmlConvert.ToString(_validThroughField);
}
set
{
_validThroughField= XmlConvert.ToTimeSpan(value);
}
}
[XmlIgnore]
public TimeSpan _validThroughField { get; set; }
TimeSpan是您正在寻找的。
TimeSpan 对象表示一个时间间隔(持续时间或经过的时间),它以天数、小时数、分钟数、秒数和秒数的正数或负数来衡量。TimeSpan 结构也可用于表示一天中的时间,但前提是时间与特定日期无关。否则,应使用 DateTime 或 DateTimeOffset 结构。
例子:
DateTime dt1 = new DateTime(2012, 10, 2, 10, 20, 00);
DateTime dt2 = DateTime.Now;
TimeSpan ts = dt1 - dt2;