我想转换
var delta = TimeSpan.FromSeconds(10);
到00:00:01
我试试这个delta.ToString(@"0:\\hh\\:mm\\:ss", System.Globalization.CultureInfo.InvariantCulture);
但没有什么工作正常。 此外,我在这里找不到https://msdn.microsoft.com/en-us/library/ee372287.aspx正确的方法。
方法ToString()
无效,所以我需要格式谎言hh:mm:ss
。
答案 0 :(得分:6)
只需使用:
delta.ToString(); // 00:00:10
为你做了诀窍(Fiddle)
或试试这个:
var str = string.Format("{0:00}:{1:00}:{2:00}", delta.Hours, delta.Minutes, delta.Seconds);
如果你经常使用它,你可以建立一个扩展方法:
public static class MyExtensions
{
public static string ToCustomString(this TimeSpan span)
{
return string.Format("{0:00}:{1:00}:{2:00}", span.Hours, span.Minutes, span.Seconds);
}
}
<强>用法:强>
string strSpan = delta.ToCustomString();
答案 1 :(得分:5)
只需使用TimeSpan的toString(String format)方法,传入您需要的格式。
https://msdn.microsoft.com/en-us/library/dd992632(v=vs.110).aspx
E.g。
var ts = TimeSpan.fromMinutes(10000);
var output = ts.toString(@"hh\:mm\:ss");
Console.WriteLine(output);
答案 2 :(得分:3)
using System;
public class Class1
{
public static void Main()
{
TimeSpan[] spans = { TimeSpan.Zero, new TimeSpan(-14, 0, 0, 0, 0),
new TimeSpan(1, 2, 3),
new TimeSpan(0, 0, 0, 0, 250),
new TimeSpan(99, 23, 59, 59, 999),
new TimeSpan(3, 0, 0),
new TimeSpan(0, 0, 0, 0, 25) };
string[] fmts = { "c", "g", "G", @"hh\:mm\:ss", "%m' min.'" };
foreach (TimeSpan span in spans)
{
foreach (string fmt in fmts)
Console.WriteLine("{0}: {1}", fmt, span.ToString(fmt));
Console.WriteLine();
}
}
}
// The example displays the following output:
// c: 00:00:00
// g: 0:00:00
// G: 0:00:00:00.0000000
// hh\:mm\:ss: 00:00:00
// %m' min.': 0 min.
//
// c: -14.00:00:00
// g: -14:0:00:00
// G: -14:00:00:00.0000000
// hh\:mm\:ss: 00:00:00
// %m' min.': 0 min.
//
// c: 01:02:03
// g: 1:02:03
// G: 0:01:02:03.0000000
// hh\:mm\:ss: 01:02:03
// %m' min.': 2 min.
//
// c: 00:00:00.2500000
// g: 0:00:00.25
// G: 0:00:00:00.2500000
// hh\:mm\:ss: 00:00:00
// %m' min.': 0 min.
//
// c: 99.23:59:59.9990000
// g: 99:23:59:59.999
// G: 99:23:59:59.9990000
// hh\:mm\:ss: 23:59:59
// %m' min.': 59 min.
//
// c: 03:00:00
// g: 3:00:00
// G: 0:03:00:00.0000000
// hh\:mm\:ss: 03:00:00
// %m' min.': 0 min.
//
// c: 00:00:00.0250000
// g: 0:00:00.025
// G: 0:00:00:00.0250000
// hh\:mm\:ss: 00:00:00
// %m' min.': 0 min.
此外,如果您想要定制,
public static class TimeSpanExt
{
public static string ToStringMyFormat(this TimeSpan timeSpan)
{
return timeSpan.Days.ToString("00") + ":" + timeSpan.Hours.ToString("00") + ":" + timeSpan.Minutes.ToString("00") + ":" + timeSpan.Seconds.ToString("00") + ":" + timeSpan.Milliseconds.ToString("00");
}
}