Экспорт (0) Печать
Развернуть все
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

TimeSpan.Parse - метод (String)

Преобразует строковое представление интервала времени в его эквивалент TimeSpan.

Пространство имен:  System
Сборка:  mscorlib (в mscorlib.dll)

public static TimeSpan Parse(
	string s
)

Параметры

s
Тип: System.String
Строка, которая указывает преобразуемый интервал времени.

Возвращаемое значение

Тип: System.TimeSpan
Интервал времени, соответствующий параметру s.

ИсключениеУсловие
ArgumentNullException

Параметр s имеет значение null.

FormatException

s имеет недопустимый формат.

OverflowException

s представляет число, которое меньше TimeSpan.MinValue или больше TimeSpan.MaxValue.

-или-

Значение одного из компонентов — дней, часов, минут или секунд — находится вне допустимого диапазона.

Параметр s содержит спецификацию временного интервала в следующей форме:

ws[-]{ д |д.]чч: мм: сс.ff]} [ws

Элементы в квадратных скобках ("[" и "]") являются необязательными. Должна быть выбрана одна альтернатива из списка альтернатив, заключенных в фигурные скобки ({ и }) и разделенные знаками вертикальной черты (|). Все эти элементы описаны в приведенной ниже таблице.

Элемент

Описание

пр

Необязательный пробел.

-

Необязательный знак минуса, который указывает на отрицательный TimeSpan.

d

Количество дней в диапазоне от 0 до 10675199.

.

Символ, учитывающий язык и региональные параметры, который отделяет дни от часов. В инвариантном формате используется знак точки (".").

hh

Количество часов в диапазоне от 0 до 23.

:

Символ разделитель времени с учетом языка и региональных параметров. В инвариантном формате используется знак двоеточия (":").

mm

Количество минут в диапазоне от 0 до 59.

ss

Необязательное количество секунд в диапазоне от 0 до 59.

.

Символ, учитывающий язык и региональные параметры, который отделяет секунды от долей секунды. В инвариантном формате используется знак точки (".").

ff

Необязательное количество долей секунд, содержащее от одной до семи десятичных цифр.

Компоненты значения параметра s вместе должны задавать интервал времени, больший или равный значению TimeSpan.MinValue и меньший или равный значению TimeSpan.MaxValue.

Метод Parse(String) пытается проанализировать s, используя каждый из форматов, характерных для текущего языка и региональных параметров.

Примечания к вызывающим объектам

Когда компонент интервала времени в строке для анализа содержит более чем семь знаков, синтаксический анализ операций в .NET Framework 3.5 и более ранних версиях может вести себя отлично от операций анализа в .NET Framework 4. В некоторых случаях синтаксический анализ операций, который успешно проходит в .NET Framework 3.5 и более ранних версиях может давать сбой и создавать OverflowException в .NET Framework 4. В других случаях синтаксический анализ операций, генерирующий FormatException в .NET Framework 3.5 и более ранних версиях может завершиться ошибкой и создать OverflowException в .NET Framework 4. В следующем примере демонстрируются оба сценария.


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.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework (клиентский профиль)

Поддерживается в версиях: 4, 3.5 с пакетом обновления 1 (SP1)

Переносимая библиотека классов

Поддерживается в версии: Переносимая библиотека классов

Приложения .NET для Магазина Windows

Поддерживается в версии: Windows 8

Приложения .NET для Windows Phone

Поддерживается в версиях: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows Server 2008 (роль основных серверных компонентов не поддерживается), Windows Server 2008 R2 (роль основных серверных компонентов поддерживается в пакете обновления 1 (SP1) или выше; системы на базе Itanium не поддерживаются)

.NET Framework поддерживает не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft