TimeSpan Ts = new TimeSpan(5, 4, 3, 2);
return Ts.ToString("?");
我应该用问号代替什么表达式来获取此格式: 5d:4h:3m:2s ?
答案 0 :(得分:12)
TimeSpan timeSpan = new TimeSpan(5, 4, 3, 2);
string str = timeSpan.ToString(@"d\d\:h\h\:m\m\:s\s", System.Globalization.CultureInfo.InvariantCulture);
请参阅Custom TimeSpan Format Strings,了解如何格式化TimeSpan
。
虽然注意到负TimeSpan
无法与正面区分开来。他们看起来像是negated。因此-new TimeSpan(5,4,3,2)
仍将显示为5d:4h:3m:2s
。如果要显示负数,则应通过TimeSpan
的属性格式化自己的数字。
答案 1 :(得分:3)
您可以使用当前代码
来完成此操作TimeSpan Ts = new TimeSpan(5, 4, 3, 2);
var RetValue = string.Format("{0}d:{1}h:{2}m:{3}s",
Ts.Days,
Ts.Hours,
Ts.Minutes,
Ts.Seconds);
将其生成为格式化结果"5d:4h:0m:2s"
答案 2 :(得分:2)
答案 3 :(得分:0)
这是一个TimeSpan扩展方法,它将隐藏空的大型时间部分。
def list_squared(number):
total = 0
x = 1
while x <= math.sqrt(number):
if number % x == 0:
if (number/x == x) :
total += x*x
else :
total += x*x + (number/x)*(number/x)
x += 1
bounds = math.sqrt(total)
if math.ceil(bounds) == math.floor(bounds):
return [number, total]
else:
return False