これは私の入力です:
55
これは私の望ましい出力です:
PT55H
TimeSpan.TryParse(55)
タイムスパンをISO8601 形式の文字列に 変換する C# の組み込みクラスはありますか?
TimeSpan
staticTimeSpan.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
いるので問題ないはずです!