我想动态设置TimeSpan
格式字符串。这意味着如果时间跨度值为负格式,则字符串应与正数字符串不同。当我想设置格式字符串时,我不知道TimeSpan
的价值!
例如:我希望-03:01:01为负时间跨度,003:01:01为正值
代码是
columns.Add(new TimeSpanColumnInfo(col.PropertyName, col.TitlePersian, col.TitleEnglish, "ddd\\:hh\\:mm"));
女巫第三个参数是formatstring
答案 0 :(得分:2)
您的问题仍然不清楚,但如果您有一个名为TimeSpan
的{{1}}对象,则可以通过执行以下操作有条件地选择格式字符串:
t
如果您确实需要在知道string format = t < TimeSpan.Zero ? @"\-dd\:hh\:mm" : @"ddd\:hh\:mm";
(可疑)的值之前指定格式,那么您可以更改方法签名以接受t
并将以下内容作为参数传递:
Func<TimeSpan, string>
答案 1 :(得分:0)
听起来你正在寻找像the section separator这样的东西。
string s = someNumber.ToString("00;(00)");
在上面的例子中,正值以两位数输出,负值以两位数字括在括号中输出。
不幸的是,节分隔符仅对自定义数字格式有效。 custom timespan formats不包含部分分隔符。