これは私の入力です:
55
これは私の望ましい出力です:
PT55H
TimeSpan.TryParse(55)タイムスパンをISO8601 形式の文字列に 変換する C# の組み込みクラスはありますか?
TimeSpanstaticTimeSpan.FromHoursメソッドを使用して数値を に変換できます。たとえばvar ts = TimeSpan.FromHours(55.0);。
ISOシステムで、常に時間のみで表された時間が必要な場合は、単にvar isostring = String.Format("PT{0}H", ts.TotalHours);.
同僚が私のためにこれを見つけました:
TimeSpan start = new TimeSpan(int.Parse(txtStartHours.Text), 0, 0);
durationNode.Element("StartTime").Value = XmlConvert.ToString(start);
に変換するようPT2D7Hですが、他で使ってXMLConvert.ToTimeSpan().TotalHoursいるので問題ないはずです!