本文档已存档,并且将不进行维护。

TimeSpan.ToString 方法

更新: 2008 年 7 月

返回此实例的值的字符串表示形式。

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)

public override string ToString()
public String ToString()
public override function ToString() : String

返回值

类型:System.String
表示此实例的值的字符串。返回值形式如下:
[-][d.]hh:mm:ss[.fffffff]
返回的字符串中可能不包括方括号([ 和 ])中的元素。冒号和句点(“:”和“.”)是原义字符。下表列出了非原义元素。

说明

"-"

减号,指示负时间跨度。正时间跨度不包含任何符号。

“d”

时间跨度中的天数。如果时间跨度小于一天,则忽略此元素。

“hh”

时间跨度中的小时数,范围从 0 到 23。

“mm”

时间跨度中的分钟数,范围从 0 到 59。

“ss”

时间跨度中的秒数,范围从 0 到 59。

“fffffff”

时间跨度中秒的小数部分。如果时间跨度不包括秒的小数部分,则忽略此元素。如果包括,则始终使用 7 位数表示秒的小数部分。

1ecy8h51.alert_note(zh-cn,VS.90).gif说明:

有关比较 TimeSpan 的字符串表示形式与 Oracle 数据类型的更多信息,请参阅 Microsoft 知识库(网址是 http://support.microsoft.com/default.aspx?ln=zh-cn)中的文章 Q324577“System.TimeSpan Does Not Match Oracle 9i INTERVAL DAY TO SECOND Data Type”。

此方法的返回值可以由 Parse 使用。

请注意,ToString 方法不包括以下重载:包括格式说明符并提供对返回字符串的精度控制。若要定义返回字符串的精度格式,可以设置 TimeSpan 对象的单个属性值的格式,如下面的示例所示。有关更多信息,请参见数字格式字符串

using System;

public class ToString
{
   public static void Main()
   {
      TimeSpan span;

      // Initialize a time span to zero.
      span = TimeSpan.Zero;
      Console.WriteLine(FormatTimeSpan(span, true));

      // Initialize a time span to 14 days.
      span = new TimeSpan(-14, 0, 0, 0, 0);
      Console.WriteLine(FormatTimeSpan(span, true));

      // Initialize a time span to 1:02:03.
      span = new TimeSpan(1, 2, 3);
      Console.WriteLine(FormatTimeSpan(span, false));


      // Initialize a time span to 250 milliseconds.
      span = new TimeSpan(0, 0, 0, 0, 250);
      Console.WriteLine(FormatTimeSpan(span, true));

      // Initalize a time span to 99 days, 23 hours, 59 minutes, and 59.9999999 seconds.
      span = new TimeSpan(99, 23, 59, 59, 999);
      Console.WriteLine(FormatTimeSpan(span, false));

      // Initalize a timespan to 25 milliseconds.
      span = new TimeSpan(0, 0, 0, 0, 25);
      Console.WriteLine(FormatTimeSpan(span, false));
   }

   private static string FormatTimeSpan(TimeSpan span, bool showSign)
   {
      string sign = String.Empty;
      if (showSign && (span > TimeSpan.Zero)) 
         sign = "+";  

      return sign + span.Days.ToString("00") + "." + 
             span.Hours.ToString("00") + ":" + 
             span.Minutes.ToString("00") + ":" + 
             span.Seconds.ToString("00") + "." + 
             span.Milliseconds.ToString("000");
   }
}
// This example displays the following output:
//       00.00:00:00.000
//       -14.00:00:00.000
//       00.01:02:03.000
//       +00.00:00:00.250
//       99.23:59:59.999
//       00.00:00:00.025


下面的示例显示通过将 ToString 方法与许多 TimeSpan 值一起调用返回的字符串。

Module ToString
   Public Sub Main()
      Dim span As TimeSpan

      ' Initialize a time span to zero.
      span = TimeSpan.Zero
      Console.WriteLine(FormatTimeSpan(span, True))

      ' Initialize a time span to 14 days.
      span = New TimeSpan(-14, 0, 0, 0, 0)
      Console.WriteLine(FormatTimeSpan(span, True))

      ' Initialize a time span to 1:02:03.
      span = New TimeSpan(1, 2, 3)
      Console.WriteLine(FormatTimeSpan(span, False))


      ' Initialize a time span to 250 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 250)
      Console.WriteLine(FormatTimeSpan(span, True))

      ' Initalize a time span to 99 days, 23 hours, 59 minutes, and 59.9999999 seconds.
      span = New TimeSpan(99, 23, 59, 59, 999)
      Console.WriteLine(FormatTimeSpan(span, False))

      ' Initalize a timespan to 25 milliseconds.
      span = New TimeSpan(0, 0, 0, 0, 25)
      Console.WriteLine(FormatTimeSpan(span, False))
   End Sub

   Private Function FormatTimeSpan(span As TimeSpan, showSign As Boolean) As String
      Dim sign As String = String.Empty
      If showSign And (span > TimeSpan.Zero) Then sign = "+"  

      Return sign & span.Days.ToString("00") & "." & _
             span.Hours.ToString("00") & ":" & _
             span.Minutes.ToString("00") & ":" & _
             span.Seconds.ToString("00") & "." & _
             span.Milliseconds.ToString("000")
   End Function
End Module
' The example displays the following output:
'       00.00:00:00.000
'       -14.00:00:00.000
'       00.01:02:03.000
'       +00.00:00:00.250
'       99.23:59:59.999
'       00.00:00:00.025


using System;

public class ToString
{
   public static void Main()
   {
      TimeSpan span;

      // Initialize a time span to zero.
      span = TimeSpan.Zero;
      Console.WriteLine(span);

      // Initialize a time span to 14 days.
      span = new TimeSpan(-14, 0, 0, 0, 0);
      Console.WriteLine(span);

      // Initialize a time span to 1:02:03.
      span = new TimeSpan(1, 2, 3);
      Console.WriteLine(span);


      // Initialize a time span to 250 milliseconds.
      span = new TimeSpan(0, 0, 0, 0, 250);
      Console.WriteLine(span);

      // Initalize a time span to 99 days, 23 hours, 59 minutes, and 59.999 seconds.
      span = new TimeSpan(99, 23, 59, 59, 999);
      Console.WriteLine(span);

      // Initalize a time span to 3 hours.
      span = new TimeSpan(3, 0, 0);
      Console.WriteLine(span);

      // Initalize a timespan to 25 milliseconds.
      span = new TimeSpan(0, 0, 0, 0, 25);
      Console.WriteLine(span);
   }
}
// The example displays the following output:
//       00:00:00
//       -14.00:00:00
//       01:02:03
//       00:00:00.2500000
//       99.23:59:59.9990000
//       03:00:00
//       00:00:00.0250000


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework 和 .NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求

.NET Framework

受以下版本支持:3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:3.5、2.0、1.0

XNA Framework

受以下版本支持:2.0、1.0

参考

[M:System.TimeSpan.Parse(System.String) | M:System.TimeSpan.TryParse(System.String,System.TimeSpan@)]

日期

历史记录

原因

2008 年 7 月

修订了返回字符串的格式说明,并增加了示例。

客户反馈。

显示: