変換したい
_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()
は役に立たないので、フォーマットlie _hh:mm:ss
_が必要です。
使用するだけです:
delta.ToString(); // 00:00:10
これはあなたのためにトリックを行います( フィドル )
またはこれを試してください:
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();
TimeSpanのToString(String format)メソッドを使用して、必要な形式を渡します。
https://msdn.Microsoft.com/en-us/library/dd992632(v = vs.110).aspx
例えば。
var ts = TimeSpan.FromMinutes(10000);
var output = ts.ToString(@"hh\:mm\:ss");
Console.WriteLine(output);
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");
}
}