信息
您所需的主题如下所示。但此主题未包含在此库中。
此主题尚未评级 - 评价此主题

TimeSpan.Parse 方法 (String)

将时间间隔的字符串表示形式转换为等效的 TimeSpan

命名空间:  System
程序集:  mscorlib(在 mscorlib.dll 中)
public static TimeSpan Parse(
	string s
)

参数

s
类型:System.String
一个字符串,用于指定进行转换的时间间隔。

返回值

类型:System.TimeSpan
s 对应的时间间隔。
异常条件
ArgumentNullException

snull

FormatException

s 具有无效的格式。

OverflowException

s 表示小于 TimeSpan.MinValue 或大于 TimeSpan.MaxValue 的数字。

- 或 -

天、小时、分钟或秒中至少有一个分量超出其有效范围。

s 参数包含一个如下形式的时间间隔规范:

[ws][-]{ d | [d.]hh:mm[:ss[.ff]] }[ws]

方括号([ 和 ])中的元素是可选的。 需要从大括号(“{”和“}”)内由竖线 (|) 分隔的替换选项列表中选择一项。 下表描述每个元素。

元素

说明

ws

可选的空白。

-

一个可选的减号,指示负的 TimeSpan

d

天,范围从 0 到 10675199。

.

一个区分区域性的符号,用于将天与小时分开。 固定格式使用句点 (".") 字符。

hh

小时,范围从 0 到 23。

:

区分区域性的时间分隔符。 固定格式使用冒号 (":") 字符。

mm

分钟,范围从 0 到 59。

ss

可选的秒,范围从 0 到 59。

.

一个区分区域性的符号,用于将秒与秒的小数部分分开。 固定格式使用句点 (".") 字符。

ff

可选的秒的小数部分,包含 1 到 7 位小数。

s 的分量必须整体指定大于或等于 TimeSpan.MinValue 并小于或等于 TimeSpan.MaxValue 的时间间隔。

Parse(String) 方法尝试通过使用当前区域的各个特殊区域格式来分析 s

对调用者的说明

当要分析的字符串中的时间间隔组件包含超过七位数字时,在 .NET Framework 3.5 以及早期版本中的分析操作可能与 .NET Framework 4 中的分析操作可能在行为上有所不同。 在某些情况下,可以在 .NET Framework 3.5 和更早版本中成功执行的分析操作在 .NET Framework 4 中可能失败并引发 OverflowException 其他情况下,在 .NET Framework 3.5 及更早版本中引发 FormatException 的分析操作会失败,并且在 .NET Framework 4 中引发 OverflowException 下面的示例阐释了这两种方案。


string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }   
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow


下面的示例使用 Parse 方法将字符串数组中的每个元素转化为 TimeSpan 值。 它将当前系统区域性更改为“克罗地亚语 - 克罗地亚”("hr-HR") 以及“英语 - 美国”("en-US"),以说明当前系统区域性如何影响分析操作。


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      string[] values = { "6", "6:12", "6:12:14", "6:12:14:45", 
                          "6.12:14:45", "6:12:14:45.3448", 
                          "6:12:14:45,3448", "6:34:14:45" };
      string[] cultureNames = { "hr-HR", "en-US"};

      // Change the current culture.
      foreach (string cultureName in cultureNames)
      {
         Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name);
         foreach (string value in values)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value);
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"));
            }
            catch (FormatException) {
               Console.WriteLine("{0}: Bad Format", value);
            }   
            catch (OverflowException) {
               Console.WriteLine("{0}: Overflow", value);
            }
         } 
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow


.NET Framework

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

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

.NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求
本文是否对您有所帮助?
(1500 个剩余字符)

社区附加资源

© 2013 Microsoft. 版权所有。
facebook page visit twitter rss feed newsletter