这是我的意见:
55
这是我想要的输出:
PT55H
C#中是否有内置类将时间跨度转换为:TimeSpan.TryParse(55)
或字符串“55”,将小时数转换为ISO8601格式的字符串?
答案 0 :(得分:1)
您可以使用静态TimeSpan
方法将数字转换为TimeSpan.FromHours
。例如var ts = TimeSpan.FromHours(55.0);
。
如果您总是希望时间仅以小时为单位,那么在ISO系统中,您可以简单地说var isostring = String.Format("PT{0}H", ts.TotalHours);
。
答案 1 :(得分:0)
Coworker刚刚为我找到了这个:
TimeSpan start = new TimeSpan(int.Parse(txtStartHours.Text), 0, 0);
durationNode.Element("StartTime").Value = XmlConvert.ToString(start);
它似乎将其转换为PT2D7H
,但由于我在其他地方使用XMLConvert.ToTimeSpan().TotalHours
,因此不会导致任何问题!