TimeSpan.TryParseExact Metoda

Definicja

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik i zwraca wartość wskazującą, czy konwersja powiodła się.Converts the string representation of a time interval to its TimeSpan equivalent, and returns a value that indicates whether the conversion succeeded. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match a specified format exactly.

Przeciążenia

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu, informacji o formacie i stylach specyficznych dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów, informacji o formacie i stylach specyficznych dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu, informacji o formacie specyficznym dla kultury i stylów oraz zwraca wartość wskazującą, czy konwersja powiodła się.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację ciągu przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację ciągu przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów, informacji o formacie i stylach specyficznych dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(String, String, IFormatProvider, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu, informacji o formacie i stylach specyficznych dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

public:
 static bool TryParseExact(System::String ^ input, System::String ^ format, IFormatProvider ^ formatProvider, System::Globalization::TimeSpanStyles styles, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (string input, string format, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (string input, string? format, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
static member TryParseExact : string * string * IFormatProvider * System.Globalization.TimeSpanStyles * TimeSpan -> bool
Public Shared Function TryParseExact (input As String, format As String, formatProvider As IFormatProvider, styles As TimeSpanStyles, ByRef result As TimeSpan) As Boolean

Parametry

input
String

Ciąg określający przedział czasu, którą należy przekształcić.A string that specifies the time interval to convert.

format
String

Standardowy lub niestandardowy ciąg formatu, który definiuje wymagany format input .A standard or custom format string that defines the required format of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that provides culture-specific formatting information.

styles
TimeSpanStyles

Co najmniej jedna wartość wyliczenia wskazująca styl input .One or more enumeration values that indicate the style of input.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

Przykłady

W poniższym przykładzie użyto ParseExact(String, String, IFormatProvider) metody do analizowania kilku reprezentacji ciągów przedziałów czasu przy użyciu różnych ciągów formatu i kultur.The following example uses the ParseExact(String, String, IFormatProvider) method to parse several string representations of time intervals using various format strings and cultures. Używa ona również TimeSpanStyles.AssumeNegative wartości do interpretowania każdego ciągu jako ujemnego przedziału czasu.It also uses the TimeSpanStyles.AssumeNegative value to interpret each string as a negative time interval. Dane wyjściowe z przykładu przedstawiają, że TimeSpanStyles.AssumeNegative styl ma wpływ na wartość zwracaną tylko wtedy, gdy jest używany z niestandardowymi ciągami formatu.The output from the example illustrates that the TimeSpanStyles.AssumeNegative style affects the return value only when it is used with custom format strings.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string intervalString, format;
      TimeSpan interval;
      CultureInfo culture = null;
      
      // Parse hour:minute value with custom format specifier.
      intervalString = "17:14";
      format = "h\\:mm";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
      
      // Parse hour:minute:second value with "g" specifier.
      intervalString = "17:14:48";
      format = "g";
      culture = CultureInfo.InvariantCulture;
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
      
      // Parse hours:minute.second value with custom format specifier.     
      intervalString = "17:14:48.153";
      format = @"h\:mm\:ss\.fff";
      culture = null;
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);   

      // Parse days:hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);   
            
      // Parse days:hours:minute.second value with a custom format specifier.     
      intervalString = "3:17:14:48.153";
      format = @"d\:hh\:mm\:ss\.fff";
      culture = null;
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
      
      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48,153";
      format = "G";
      culture = new CultureInfo("fr-FR");
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 culture, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);

      // Parse a single number using the "c" standard format string. 
      intervalString = "12";
      format = "c";
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 null, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
      
      // Parse a single number using the "%h" custom format string. 
      format = "%h";
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 null, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
      
      // Parse a single number using the "%s" custom format string. 
      format = "%s";
      if (TimeSpan.TryParseExact(intervalString, format, 
                                 null, TimeSpanStyles.AssumeNegative, out interval))
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval);
      else   
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format);
   }
}
// The example displays the following output:
//    '17:14' (h\:mm) --> -17:14:00
//    '17:14:48' (g) --> 17:14:48
//    '17:14:48.153' (h\:mm\:ss\.fff) --> -17:14:48.1530000
//    '3:17:14:48.153' (G) --> 3.17:14:48.1530000
//    '3:17:14:48.153' (d\:hh\:mm\:ss\.fff) --> -3.17:14:48.1530000
//    '3:17:14:48,153' (G) --> 3.17:14:48.1530000
//    '12' (c) --> 12.00:00:00
//    '12' (%h) --> -12:00:00
//    '12' (%s) --> -00:00:12
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim intervalString, format As String
      Dim interval As TimeSpan
      Dim culture As CultureInfo = Nothing
      
      ' Parse hour:minute value with custom format specifier.
      intervalString = "17:14"
      format = "h\:mm"
      culture = CultureInfo.CurrentCulture
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If
      
      ' Parse hour:minute:second value with "g" specifier.
      intervalString = "17:14:48"
      format = "g"
      culture = CultureInfo.InvariantCulture
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If
      
      ' Parse hours:minute.second value with custom format specifier.     
      intervalString = "17:14:48.153"
      format = "h\:mm\:ss\.fff"
      culture = Nothing
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 

      ' Parse days:hours:minute.second value with "G" specifier 
      ' and current (en-US) culture.     
      intervalString = "3:17:14:48.153"
      format = "G"
      culture = CultureInfo.CurrentCulture
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 
            
      ' Parse days:hours:minute.second value with a custom format specifier.     
      intervalString = "3:17:14:48.153"
      format = "d\:hh\:mm\:ss\.fff"
      culture = Nothing
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 
      
      ' Parse days:hours:minute.second value with "G" specifier 
      ' and fr-FR culture.     
      intervalString = "3:17:14:48,153"
      format = "G"
      culture = New CultureInfo("fr-FR")
      If TimeSpan.TryParseExact(intervalString, format, 
                                culture, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)
      End If 

      ' Parse a single number using the "c" standard format string. 
      intervalString = "12"
      format = "c"
      If TimeSpan.TryParseExact(intervalString, format, 
                                Nothing, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 
      
      ' Parse a single number using the "%h" custom format string. 
      format = "%h"
      If TimeSpan.TryParseExact(intervalString, format, 
                                Nothing, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 
      
      ' Parse a single number using the "%s" custom format string. 
      format = "%s"
      If TimeSpan.TryParseExact(intervalString, format, 
                                Nothing, TimeSpanStyles.AssumeNegative, interval) Then
         Console.WriteLine("'{0}' ({1}) --> {2}", intervalString, format, interval)
      Else
         Console.WriteLine("Unable to parse '{0}' using format {1}",
                           intervalString, format)   
      End If 
   End Sub
End Module
' The example displays the following output:
'    '17:14' (h\:mm) --> -17:14:00
'    '17:14:48' (g) --> 17:14:48
'    '17:14:48.153' (h\:mm\:ss\.fff) --> -17:14:48.1530000
'    '3:17:14:48.153' (G) --> 3.17:14:48.1530000
'    '3:17:14:48.153' (d\:hh\:mm\:ss\.fff) --> -3.17:14:48.1530000
'    '3:17:14:48,153' (G) --> 3.17:14:48.1530000
'    '12' (c) --> 12.00:00:00
'    '12' (%h) --> -12:00:00
'    '12' (%s) --> -00:00:12

Uwagi

TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan)Metoda analizuje ciąg reprezentujący przedział czasu, który musi być w formacie zdefiniowanym przez format parametr, z tą różnicą, że znaki spacji wiodących i końcowych są ignorowane.The TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan) method parses the string representation of a time interval, which must be in the format defined by the format parameter, except that leading and trailing white-space characters are ignored. Ta metoda jest podobna do ParseExact(String, String, IFormatProvider, TimeSpanStyles) metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.This method is similar to the ParseExact(String, String, IFormatProvider, TimeSpanStyles) method, except that it does not throw an exception if the conversion fails.

formatParametr jest ciągiem zawierającym pojedynczy specyfikator formatu standardowego lub jeden lub więcej specyfikatorów formatu niestandardowego, które definiują wymagany format input .The format parameter is a string that contains either a single standard format specifier, or one or more custom format specifiers that define the required format of input. Aby uzyskać więcej informacji na temat prawidłowych ciągów formatujących, zobacz Standard TimeSpan Format Strings i Custom TimeSpan Format Strings.For more information about valid format strings, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.

formatProviderParametr jest IFormatProvider implementacją, która dostarcza specyficzne dla kultury informacje o formacie zwracanego ciągu, jeśli format jest ciągiem formatu standardowego.The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string if format is a standard format string. formatProviderParametr może mieć jedną z następujących wartości:The formatProvider parameter can be any of the following:

Jeśli formatProvider jest null , DateTimeFormatInfo używany jest obiekt, który jest skojarzony z bieżącą kulturą.If formatProvider is null, the DateTimeFormatInfo object that is associated with the current culture is used.

stylesParametr ma wpływ na interpretację ciągów analizowanych za pomocą ciągów formatu niestandardowego.The styles parameter affects the interpretation of strings parsed using custom format strings. Określa, czy input jest interpretowany jako ujemny interwał czasu tylko wtedy, gdy jest obecny znak ujemny ( TimeSpanStyles.None ) lub czy jest zawsze interpretowany jako ujemny przedział czasu ( TimeSpanStyles.AssumeNegative ).It determines whether input is interpreted as a negative time interval only if a negative sign is present (TimeSpanStyles.None), or whether it is always interpreted as a negative time interval (TimeSpanStyles.AssumeNegative). Jeśli TimeSpanStyles.AssumeNegative nie jest używany, format musi zawierać literalny symbol znaku minus (na przykład " \ -"), aby pomyślnie przeanalizować ujemny przedział czasu.If TimeSpanStyles.AssumeNegative is not used, format must include a literal negative sign symbol (such as "\-") to successfully parse a negative time interval.

Zobacz też

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów, informacji o formacie i stylach specyficznych dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

public:
 static bool TryParseExact(ReadOnlySpan<char> input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, System::Globalization::TimeSpanStyles styles, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (ReadOnlySpan<char>? input, string[] formats, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, string[]? formats, IFormatProvider? formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.TimeSpanStyles * TimeSpan -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), formats As String(), formatProvider As IFormatProvider, styles As TimeSpanStyles, ByRef result As TimeSpan) As Boolean

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki, które reprezentują przedział czasu do przekonwertowania.A span containing the characters that represent a time interval to convert.

formats
String[]

Tablica standardowych lub niestandardowych ciągów formatu, które definiują akceptowalne formaty input .An array of standard or custom format strings that define the acceptable formats of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

styles
TimeSpanStyles

Co najmniej jedna wartość wyliczenia wskazująca styl input .One or more enumeration values that indicate the style of input.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu, informacji o formacie specyficznym dla kultury i stylów oraz zwraca wartość wskazującą, czy konwersja powiodła się.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format, culture-specific format information, and styles, and returns a value that indicates whether the conversion succeeded. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

public:
 static bool TryParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider ^ formatProvider, System::Globalization::TimeSpanStyles styles, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider? formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * System.Globalization.TimeSpanStyles * TimeSpan -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, styles As TimeSpanStyles, ByRef result As TimeSpan) As Boolean

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki, które reprezentują przedział czasu do przekonwertowania.A span containing the characters that represent a time interval to convert.

format
ReadOnlySpan<Char>

Zakres zawierający charactes reprezentujący standardowy lub niestandardowy ciąg formatu, który definiuje akceptowalny format input .A span containing the charactes that represent a standard or custom format string that defines the acceptable format of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

styles
TimeSpanStyles

Co najmniej jedna wartość wyliczenia wskazująca styl input .One or more enumeration values that indicate the style of input.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

TryParseExact(String, String[], IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację ciągu przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

public:
 static bool TryParseExact(System::String ^ input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (string input, string[] formats, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (string input, string[]? formats, IFormatProvider formatProvider, out TimeSpan result);
static member TryParseExact : string * string[] * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParseExact (input As String, formats As String(), formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parametry

input
String

Ciąg określający przedział czasu, którą należy przekształcić.A string that specifies the time interval to convert.

formats
String[]

Tablica standardowych lub niestandardowych ciągów formatu, które definiują akceptowalne formaty input .An array of standard or custom format strings that define the acceptable formats of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that provides culture-specific formatting information.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

Przykłady

Poniższy przykład wywołuje TryParseExact(String, String[], IFormatProvider, TimeSpan) metodę w celu przekonwertowania każdego elementu tablicy ciągów na TimeSpan wartość.The following example calls the TryParseExact(String, String[], IFormatProvider, TimeSpan) method to convert each element of a string array to a TimeSpan value. Przykład interpretuje ciągi przy użyciu Konwencji formatowania kultury francuski — Francja ("fr-FR").The example interprets the strings by using the formatting conventions of the French - France ("fr-FR") culture. Ciągi mogą reprezentować przedział czasu w ogólnym formacie krótkim lub długim.The strings can represent a time interval in either the general short format or the general long format.

Ponadto w przykładzie zmienił się sposób, w jaki metody analizy przedziałów czasu interpretują pojedyncze cyfry.In addition, the example changes the way in which the time interval parsing methods interpret a single digit. Zazwyczaj w odstępie czasu pojedyncza cyfra jest interpretowana jako liczba dni.Ordinarily, a single digit is interpreted as the number of days in a time interval. Zamiast tego %h ciąg formatu niestandardowego służy do interpretowania pojedynczej cyfry jako liczby godzin.Instead, the %h custom format string is used to interpret a single digit as the number of hours. Aby ta zmiana zaczęła obowiązywać, należy pamiętać, że %h ciąg formatu niestandardowego musi poprzedzać inne ciągi formatujące w formats tablicy.For this change to be effective, note that the %h custom format string must precede the other format strings in the formats array.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] inputs = { "3", "16:42", "1:6:52:35.0625", 
                          "1:6:52:35,0625" }; 
      string[] formats = { "g", "G", "%h"};
      TimeSpan interval;
      CultureInfo culture = new CultureInfo("fr-FR");
      
      // Parse each string in inputs using formats and the fr-FR culture.
      foreach (string input in inputs) {
         if(TimeSpan.TryParseExact(input, formats, culture, out interval))
            Console.WriteLine("{0} --> {1:c}", input, interval);
         else
            Console.WriteLine("Unable to parse {0}", input);   
      }
   }
}
// The example displays the following output:
//       3 --> 03:00:00
//       16:42 --> 16:42:00
//       Unable to parse 1:6:52:35.0625
//       1:6:52:35,0625 --> 1.06:52:35.0625000
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim inputs() As String = { "3", "16:42", "1:6:52:35.0625", 
                                 "1:6:52:35,0625" } 
      Dim formats() As String = { "%h", "g", "G" }
      Dim interval As TimeSpan
      Dim culture As New CultureInfo("fr-FR")
      
      ' Parse each string in inputs using formats and the fr-FR culture.
      For Each input As String In inputs
         If TimeSpan.TryParseExact(input, formats, culture, interval) Then
            Console.WriteLine("{0} --> {1:c}", input, interval)   
         Else
            Console.WriteLine("Unable to parse {0}", input)   
         End If            
      Next
   End Sub
End Module
' The example displays the following output:
'       3 --> 03:00:00
'       16:42 --> 16:42:00
'       Unable to parse 1:6:52:35.0625
'       1:6:52:35,0625 --> 1.06:52:35.0625000

Uwagi

TryParseExact(String, String[], IFormatProvider, TimeSpan)Metoda analizuje ciąg reprezentujący przedział czasu, który musi być w formacie zdefiniowanym przez jeden z ciągów formatu określonych przez formats parametr, z tą różnicą, że znaki spacji wiodących i końcowych są ignorowane.The TryParseExact(String, String[], IFormatProvider, TimeSpan) method parses the string representation of a time interval, which must be in the format defined by one of the format strings specified by the formats parameter, except that leading and trailing white-space characters are ignored. Ta metoda jest podobna do ParseExact(String, String[], IFormatProvider) metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.This method is similar to the ParseExact(String, String[], IFormatProvider) method, except that it does not throw an exception if the conversion fails.

formatsParametr jest tablicą ciągów, której elementy składają się z pojedynczego specyfikatora formatu standardowego lub jednego lub kilku niestandardowych specyfikatorów formatu, które definiują wymagany format input .The formats parameter is a string array whose elements consist of either a single standard format specifier, or one or more custom format specifiers that define the required format of input. Aby uzyskać więcej informacji na temat prawidłowych ciągów formatujących, zobacz Standard TimeSpan Format Strings i Custom TimeSpan Format Strings.For more information about valid format strings, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings. input musi odpowiadać dokładnie elementowi członkowskiemu formats , aby operacja analizy powiodła się.input must correspond exactly to a member of formats for the parse operation to succeed. Operacja analizy próbuje dopasować input się do każdego elementu w elemencie formats rozpoczynającym się od pierwszego elementu w tablicy.The parse operation attempts to match input to each element in formats starting with the first element in the array.

Ważne

TryParseExactMetoda używa Konwencji kultury określonej przez formatProvider parametr tylko wtedy, gdy ciąg formatu używany do analizy input jest TimeSpan ciągiem formatu standardowego, którego wartością jest "G" lub "g".The TryParseExact method uses the conventions of the culture specified by the formatProvider parameter only if the format string used to parse input is a standard TimeSpan format string whose value is either "g" or "G". Standardowe ciągi formatujące „c”, „t” i „T” wykorzystują konwencje formatowania niezmiennej kultury.The "c", "t", and "T" standard format strings use the formatting conventions of the invariant culture. Niestandardowe ciągi formatujące definiują dokładny format ciągu wejściowego oraz za pomocą znaków literałowych oddzielają składniki przedziału czasu.Custom format strings define the precise format of the input string and use literal characters to separate the components of a time interval.

formatProviderParametr jest IFormatProvider implementacją, która dostarcza informacje specyficzne dla kultury o formacie zwracanego ciągu, jeśli ciąg formatu używany do analizy input jest ciągiem formatu standardowego.The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string if the format string used to parse input is a standard format string. formatProviderParametr może mieć jedną z następujących wartości:The formatProvider parameter can be any of the following:

Jeśli formatProvider jest null , DateTimeFormatInfo używany jest obiekt, który jest skojarzony z bieżącą kulturą.If formatProvider is null, the DateTimeFormatInfo object that is associated with the current culture is used.

Zobacz też

TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)

Konwertuje określoną reprezentację ciągu przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów, informacji o formacie i stylach specyficznych dla kultury.Converts the specified string representation of a time interval to its TimeSpan equivalent by using the specified formats, culture-specific format information and styles. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

public:
 static bool TryParseExact(System::String ^ input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, System::Globalization::TimeSpanStyles styles, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (string input, string[] formats, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
public static bool TryParseExact (string input, string[]? formats, IFormatProvider formatProvider, System.Globalization.TimeSpanStyles styles, out TimeSpan result);
static member TryParseExact : string * string[] * IFormatProvider * System.Globalization.TimeSpanStyles * TimeSpan -> bool
Public Shared Function TryParseExact (input As String, formats As String(), formatProvider As IFormatProvider, styles As TimeSpanStyles, ByRef result As TimeSpan) As Boolean

Parametry

input
String

Ciąg określający przedział czasu, którą należy przekształcić.A string that specifies the time interval to convert.

formats
String[]

Tablica standardowych lub niestandardowych ciągów formatu, które definiują akceptowalne formaty input .An array of standard or custom format strings that define the acceptable formats of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

styles
TimeSpanStyles

Co najmniej jedna wartość wyliczenia wskazująca styl input .One or more enumeration values that indicate the style of input.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

Przykłady

Poniższy przykład wywołuje TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan) metodę w celu przekonwertowania każdego elementu tablicy ciągów na TimeSpan wartość.The following example calls the TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan) method to convert each element of a string array to a TimeSpan value. Ciągi mogą reprezentować przedział czasu w ogólnym formacie krótkim lub długim.The strings can represent a time interval in either the general short format or the general long format.

Ponadto w przykładzie zmienił się sposób, w jaki metody analizy przedziałów czasu interpretują pojedyncze cyfry.In addition, the example changes the way in which the time interval parsing methods interpret a single digit. Zazwyczaj w odstępie czasu pojedyncza cyfra jest interpretowana jako liczba dni.Ordinarily, a single digit is interpreted as the number of days in a time interval. Zamiast tego %h ciąg formatu niestandardowego służy do interpretowania pojedynczej cyfry jako liczby godzin.Instead, the %h custom format string is used to interpret a single digit as the number of hours. Aby ta zmiana zaczęła obowiązywać, należy pamiętać, że %h ciąg formatu niestandardowego musi poprzedzać inne ciągi formatujące w formats tablicy.For this change to be effective, note that the %h custom format string must precede the other format strings in the formats array. Należy również zwrócić uwagę na dane wyjściowe, że TimeSpanStyles.AssumeNegative Flaga określona w wywołaniu metody jest używana tylko podczas analizowania ciągu przy użyciu tego specyfikatora formatu.Also note from the output that the TimeSpanStyles.AssumeNegative flag specified in the method call is used only when parsing a string with this format specifier.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] inputs = { "3", "16:42", "1:6:52:35.0625", 
                          "1:6:52:35,0625" }; 
      string[] formats = { "%h", "g", "G" };
      TimeSpan interval;
      CultureInfo culture = new CultureInfo("fr-FR");
      
      // Parse each string in inputs using formats and the fr-FR culture.
      foreach (string input in inputs) {
         if(TimeSpan.TryParseExact(input, formats, culture, 
                                   TimeSpanStyles.AssumeNegative, out interval))
            Console.WriteLine("{0} --> {1:c}", input, interval);
         else
            Console.WriteLine("Unable to parse {0}", input);   
      }
   }
}
// The example displays the following output:
//       3 --> -03:00:00
//       16:42 --> 16:42:00
//       Unable to parse 1:6:52:35.0625
//       1:6:52:35,0625 --> 1.06:52:35.0625000
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim inputs() As String = { "3", "16:42", "1:6:52:35.0625", 
                                 "1:6:52:35,0625" } 
      Dim formats() As String = { "%h", "g", "G" }
      Dim interval As TimeSpan
      Dim culture As New CultureInfo("de-DE")
      
      ' Parse each string in inputs using formats and the fr-FR culture.
      For Each input As String In inputs
         If TimeSpan.TryParseExact(input, formats, culture, 
                                   TimeSpanStyles.AssumeNegative, interval) Then
            Console.WriteLine("{0} --> {1:c}", input, interval)   
         Else
            Console.WriteLine("Unable to parse {0}", input)   
         End If            
      Next
   End Sub
End Module
' The example displays the following output:
'       3 --> -03:00:00
'       16:42 --> 16:42:00
'       Unable to parse 1:6:52:35.0625
'       1:6:52:35,0625 --> 1.06:52:35.0625000

Uwagi

TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan)Metoda analizuje ciąg reprezentujący przedział czasu, który musi być w formacie zdefiniowanym przez jeden z ciągów formatu określonych przez formats parametr, z tą różnicą, że znaki spacji wiodących i końcowych są ignorowane.The TryParseExact(String, String[], IFormatProvider, TimeSpanStyles, TimeSpan) method parses the string representation of a time interval, which must be in the format defined by one of the format strings specified by the formats parameter, except that leading and trailing white-space characters are ignored. Ta metoda jest podobna do ParseExact(String, String[], IFormatProvider, TimeSpanStyles) metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.This method is similar to the ParseExact(String, String[], IFormatProvider, TimeSpanStyles) method, except that it does not throw an exception if the conversion fails.

formatsParametr jest tablicą ciągów, której elementy składają się z pojedynczego specyfikatora formatu standardowego lub jednego lub kilku niestandardowych specyfikatorów formatu, które definiują wymagany format input .The formats parameter is a string array whose elements consist of either a single standard format specifier, or one or more custom format specifiers that define the required format of input. Aby uzyskać więcej informacji na temat prawidłowych ciągów formatujących, zobacz Standard TimeSpan Format Strings i Custom TimeSpan Format Strings.For more information about valid format strings, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings. input musi odpowiadać dokładnie elementowi członkowskiemu formats , aby operacja analizy powiodła się.input must correspond exactly to a member of formats for the parse operation to succeed. Operacja analizy próbuje dopasować input się do każdego elementu w elemencie formats rozpoczynającym się od pierwszego elementu w tablicy.The parse operation attempts to match input to each element in formats starting with the first element in the array.

Ważne

ParseExactMetoda używa Konwencji kultury określonej przez formatProvider parametr tylko wtedy, gdy ciąg formatu używany do analizy input jest TimeSpan ciągiem formatu standardowego, którego wartością jest "G" lub "g".The ParseExact method uses the conventions of the culture specified by the formatProvider parameter only if the format string used to parse input is a standard TimeSpan format string whose value is either "g" or "G". Standardowe ciągi formatujące „c”, „t” i „T” wykorzystują konwencje formatowania niezmiennej kultury.The "c", "t", and "T" standard format strings use the formatting conventions of the invariant culture. Niestandardowe ciągi formatujące definiują dokładny format ciągu wejściowego oraz za pomocą znaków literałowych oddzielają składniki przedziału czasu.Custom format strings define the precise format of the input string and use literal characters to separate the components of a time interval.

formatProviderParametr jest IFormatProvider implementacją, która dostarcza informacje specyficzne dla kultury o formacie zwracanego ciągu, jeśli ciąg formatu używany do analizy input jest ciągiem formatu standardowego.The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string if the format string used to parse input is a standard format string. formatProviderParametr może mieć jedną z następujących wartości:The formatProvider parameter can be any of the following:

Jeśli formatProvider jest null , DateTimeFormatInfo używany jest obiekt, który jest skojarzony z bieżącą kulturą.If formatProvider is null, the DateTimeFormatInfo object that is associated with the current culture is used.

stylesParametr ma wpływ na interpretację ciągów, które są analizowane za pomocą ciągów formatu niestandardowego.The styles parameter affects the interpretation of strings that are parsed using custom format strings. Określa, czy input jest interpretowany jako ujemny interwał czasu tylko wtedy, gdy jest obecny znak ujemny ( TimeSpanStyles.None ) lub czy jest zawsze interpretowany jako ujemny przedział czasu ( TimeSpanStyles.AssumeNegative ).It determines whether input is interpreted as a negative time interval only if a negative sign is present (TimeSpanStyles.None), or whether it is always interpreted as a negative time interval (TimeSpanStyles.AssumeNegative). Jeśli TimeSpanStyles.AssumeNegative nie jest używany, format musi zawierać literalny symbol znaku minus (na przykład " \ -"), aby pomyślnie przeanalizować ujemny przedział czasu.If TimeSpanStyles.AssumeNegative is not used, format must include a literal negative sign symbol (such as "\-") to successfully parse a negative time interval.

Zobacz też

TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonych formatów i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified formats and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do jednego ze wskazanych formatów.The format of the string representation must match one of the specified formats exactly.

public:
 static bool TryParseExact(ReadOnlySpan<char> input, cli::array <System::String ^> ^ formats, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (ReadOnlySpan<char>? input, string[] formats, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, string[] formats, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, string[]? formats, IFormatProvider? formatProvider, out TimeSpan result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), formats As String(), formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki, które reprezentują przedział czasu do przekonwertowania.A span containing the characters that represent a time interval to convert.

formats
String[]

Tablica standardowych lub niestandardowych ciągów formatu, które definiują akceptowalne formaty input .An array of standard or custom format strings that define the acceptable formats of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, TimeSpan)

Konwertuje określoną reprezentację przedziału czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the specified span representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

public:
 static bool TryParseExact(ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider? formatProvider, out TimeSpan result);
public static bool TryParseExact (ReadOnlySpan<char> input, ReadOnlySpan<char> format, IFormatProvider formatProvider, out TimeSpan result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParseExact (input As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki, które reprezentują przedział czasu do przekonwertowania.A span containing the characters that represent a time interval to convert.

format
ReadOnlySpan<Char>

Zakres zawierający znaki reprezentujące standardowy lub niestandardowy ciąg formatu, który definiuje akceptowalny format input .A span containing the characters that represent a standard or custom format string that defines the acceptable format of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

TryParseExact(String, String, IFormatProvider, TimeSpan)

Konwertuje ciąg reprezentujący przedział czasu na jego TimeSpan odpowiednik przy użyciu określonego formatu i informacji o formacie specyficznym dla kultury.Converts the string representation of a time interval to its TimeSpan equivalent by using the specified format and culture-specific format information. Format ciągu reprezentującego musi dokładnie pasować do wskazanego formatu.The format of the string representation must match the specified format exactly.

public:
 static bool TryParseExact(System::String ^ input, System::String ^ format, IFormatProvider ^ formatProvider, [Runtime::InteropServices::Out] TimeSpan % result);
public static bool TryParseExact (string input, string format, IFormatProvider formatProvider, out TimeSpan result);
public static bool TryParseExact (string input, string? format, IFormatProvider formatProvider, out TimeSpan result);
static member TryParseExact : string * string * IFormatProvider * TimeSpan -> bool
Public Shared Function TryParseExact (input As String, format As String, formatProvider As IFormatProvider, ByRef result As TimeSpan) As Boolean

Parametry

input
String

Ciąg określający przedział czasu, którą należy przekształcić.A string that specifies the time interval to convert.

format
String

Standardowy lub niestandardowy ciąg formatu, który definiuje wymagany format input .A standard or custom format string that defines the required format of input.

formatProvider
IFormatProvider

Obiekt, który dostarcza informacje o formatowaniu specyficzne dla kultury.An object that supplies culture-specific formatting information.

result
TimeSpan

Gdy ta metoda zwraca, zawiera obiekt, który reprezentuje przedział czasu określony przez input , lub Zero Jeśli konwersja nie powiodła się.When this method returns, contains an object that represents the time interval specified by input, or Zero if the conversion failed. Ten parametr jest przekazywany jako niezainicjowany.This parameter is passed uninitialized.

Zwraca

Boolean

true Jeśli input został przekonwertowany pomyślnie; w przeciwnym razie, false .true if input was converted successfully; otherwise, false.

Przykłady

W poniższym przykładzie użyto TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan) metody do analizowania kilku reprezentacji ciągów przedziałów czasu przy użyciu różnych ciągów formatu i kultur.The following example uses the TryParseExact(String, String, IFormatProvider, TimeSpanStyles, TimeSpan) method to parse several string representations of time intervals using various format strings and cultures.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string intervalString, format;
      TimeSpan interval;
      CultureInfo culture;
      
      // Parse hour:minute value with "g" specifier current culture.
      intervalString = "17:14";
      format = "g";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
      
      // Parse hour:minute:second value with "G" specifier.
      intervalString = "17:14:48";
      format = "G";
      culture = CultureInfo.InvariantCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
      
      // Parse hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse days:hours:minute.second value with "G" specifier 
      // and current (en-US) culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = CultureInfo.CurrentCulture;
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
            
      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48.153";
      format = "G";
      culture = new CultureInfo("fr-FR");
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
      
      // Parse days:hours:minute.second value with "G" specifier 
      // and fr-FR culture.     
      intervalString = "3:17:14:48,153";
      format = "G";
      if (TimeSpan.TryParseExact(intervalString, format, culture, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);

      // Parse a single number using the "c" standard format string. 
      intervalString = "12";
      format = "c";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
      
      // Parse a single number using the "%h" custom format string. 
      format = "%h";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
      
      // Parse a single number using the "%s" custom format string. 
      format = "%s";
      if (TimeSpan.TryParseExact(intervalString, format, null, out interval))
         Console.WriteLine("'{0}' --> {1}", intervalString, interval);
      else
         Console.WriteLine("Unable to parse {0}", intervalString);
   }
}
// The example displays the following output:
//       '17:14' --> 17:14:00
//       Unable to parse 17:14:48
//       Unable to parse 17:14:48.153
//       '3:17:14:48.153' --> 3.17:14:48.1530000
//       Unable to parse 3:17:14:48.153
//       '3:17:14:48,153' --> 3.17:14:48.1530000
//       '12' --> 12.00:00:00
//       '12' --> 12:00:00
//       '12' --> 00:00:12
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim intervalString, format As String
      Dim interval As TimeSpan
      Dim culture As CultureInfo
      
      ' Parse hour:minute value with "g" specifier current culture.
      intervalString = "17:14"
      format = "g"
      culture = CultureInfo.CurrentCulture
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
      
      ' Parse hour:minute:second value with "G" specifier.
      intervalString = "17:14:48"
      format = "G"
      culture = CultureInfo.InvariantCulture
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If

      ' Parse hours:minute.second value with "G" specifier 
      ' and current (en-US) culture.     
      intervalString = "17:14:48.153"
      format = "G"
      culture = CultureInfo.CurrentCulture
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If

      ' Parse days:hours:minute.second value with "G" specifier 
      ' and current (en-US) culture.     
      intervalString = "3:17:14:48.153"
      format = "G"
      culture = CultureInfo.CurrentCulture
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
            
      ' Parse days:hours:minute.second value with "G" specifier 
      ' and fr-FR culture.     
      intervalString = "3:17:14:48.153"
      format = "G"
      culture = New CultureInfo("fr-FR")
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
      
      ' Parse days:hours:minute.second value with "G" specifier 
      ' and fr-FR culture.     
      intervalString = "3:17:14:48,153"
      format = "G"
      culture = New CultureInfo("fr-FR")
      If TimeSpan.TryParseExact(intervalString, format, culture, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If

      ' Parse a single number using the "c" standard format string. 
      intervalString = "12"
      format = "c"
      If TimeSpan.TryParseExact(intervalString, format, Nothing, interval)
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
      
      ' Parse a single number using the "%h" custom format string. 
      format = "%h"
      If TimeSpan.TryParseExact(intervalString, format, Nothing, interval)
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
      
      ' Parse a single number using the "%s" custom format string. 
      format = "%s"
      If TimeSpan.TryParseExact(intervalString, format, Nothing, interval) Then
         Console.WriteLine("'{0}' --> {1}", intervalString, interval)
      Else
         Console.WriteLine("Unable to parse {0}", intervalString)
      End If
   End Sub
End Module
' The example displays the following output:
'       '17:14' --> 17:14:00
'       Unable to parse 17:14:48
'       Unable to parse 17:14:48.153
'       '3:17:14:48.153' --> 3.17:14:48.1530000
'       Unable to parse 3:17:14:48.153
'       '3:17:14:48,153' --> 3.17:14:48.1530000
'       '12' --> 12.00:00:00
'       '12' --> 12:00:00
'       '12' --> 00:00:12

Uwagi

TryParseExact(String, String, IFormatProvider, TimeSpan)Metoda analizuje ciąg reprezentujący przedział czasu, który musi być w formacie zdefiniowanym przez format parametr, z tą różnicą, że znaki spacji wiodących i końcowych są ignorowane.The TryParseExact(String, String, IFormatProvider, TimeSpan) method parses the string representation of a time interval, which must be in the format defined by the format parameter, except that leading and trailing white-space characters are ignored. Ta metoda jest podobna do ParseExact(String, String, IFormatProvider) metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.This method is similar to the ParseExact(String, String, IFormatProvider) method, except that it does not throw an exception if the conversion fails.

formatParametr jest ciągiem zawierającym pojedynczy specyfikator formatu standardowego lub jeden lub więcej specyfikatorów formatu niestandardowego, które definiują wymagany format input .The format parameter is a string that contains either a single standard format specifier, or one or more custom format specifiers that define the required format of input. Aby uzyskać więcej informacji na temat prawidłowych ciągów formatujących, zobacz Standard TimeSpan Format Strings i Custom TimeSpan Format Strings.For more information about valid format strings, see Standard TimeSpan Format Strings and Custom TimeSpan Format Strings.

Ważne

TryParseExact(String, String, IFormatProvider, TimeSpan)Metoda używa Konwencji kultury określonej przez formatProvider parametr tylko wtedy, gdy format jest TimeSpan ciągiem formatu standardowego, którego wartością jest "G" lub "g".The TryParseExact(String, String, IFormatProvider, TimeSpan) method uses the conventions of the culture specified by the formatProvider parameter only if format is a standard TimeSpan format string whose value is either "g" or "G". Standardowe ciągi formatujące „c”, „t” i „T” wykorzystują konwencje formatowania niezmiennej kultury.The "c", "t", and "T" standard format strings use the formatting conventions of the invariant culture. Niestandardowe ciągi formatujące definiują dokładny format ciągu wejściowego oraz za pomocą znaków literałowych oddzielają składniki przedziału czasu.Custom format strings define the precise format of the input string and use literal characters to separate the components of a time interval.

formatProviderParametr jest IFormatProvider implementacją, która dostarcza specyficzne dla kultury informacje o formacie zwracanego ciągu, jeśli format jest ciągiem formatu standardowego.The formatProvider parameter is an IFormatProvider implementation that provides culture-specific information about the format of the returned string if format is a standard format string. formatProviderParametr może mieć jedną z następujących wartości:The formatProvider parameter can be any of the following:

Jeśli formatProvider jest null , DateTimeFormatInfo używany jest obiekt, który jest skojarzony z bieżącą kulturą.If formatProvider is null, the DateTimeFormatInfo object that is associated with the current culture is used.

Zobacz też

Dotyczy