1

这是我的输入:

55

这是我想要的输出:

PT55H

C# 中是否有一个内置类可以将时间跨度转换为:TimeSpan.TryParse(55)或作为带小时的字符串“55”转换为 ISO8601 格式的字符串?

4

2 回答 2

1

TimeSpan您可以使用静态TimeSpan.FromHours方法将数字转换为 a 。例如var ts = TimeSpan.FromHours(55.0);.

如果你总是想要只用小时表示的时间,在 ISO 系统中,也许你可以简单地说var isostring = String.Format("PT{0}H", ts.TotalHours);

于 2012-09-24T19:45:14.487 回答
0

同事刚刚为我找到了这个:

TimeSpan start = new TimeSpan(int.Parse(txtStartHours.Text), 0, 0); 
durationNode.Element("StartTime").Value = XmlConvert.ToString(start); 

它似乎将其转换为PT2D7H,但由于我在XMLConvert.ToTimeSpan().TotalHours其他地方使用,它应该不会造成任何问题!

于 2012-09-24T19:36:03.157 回答