Udostępnij za pośrednictwem


DateTimeOffset.TryParse Metoda

Definicja

Konwertuje określoną reprezentację ciągu daty i godziny na jej DateTimeOffset odpowiednik.

Przeciążenia

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Próbuje przekonwertować określoną reprezentację ciągu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Próbuje przekonwertować określoną reprezentację zakresu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

TryParse(String, IFormatProvider, DateTimeOffset)

Próbuje przeanalizować ciąg w wartość.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Próbuje przeanalizować zakres znaków w wartości.

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Próbuje przekonwertować określoną reprezentację zakresu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

TryParse(String, DateTimeOffset)

Próbuje przekonwertować określoną reprezentację ciągu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przekonwertować określoną reprezentację ciągu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

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

Parametry

input
String

Ciąg zawierający datę i godzinę, które należy przekształcić.

formatProvider
IFormatProvider

Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury dotyczące inputelementu .

styles
DateTimeStyles

Bitowa kombinacja wartości wyliczenia wskazująca dozwolony format .input

result
DateTimeOffset

Gdy metoda zwróci wartość równoważną DateTimeOffset dacie i godzinie input, jeśli konwersja powiodła się lub DateTimeOffset.MinValue, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli input parametr jest null lub nie zawiera prawidłowej reprezentacji ciągu daty i godziny. Ten parametr jest przekazywany jako niezainicjowany.

Zwraca

true input jeśli parametr został pomyślnie przekonwertowany; w przeciwnym razie false.

Wyjątki

styles zawiera niezdefiniowaną DateTimeStyles wartość.

-lub-

NoCurrentDateDefault nie jest obsługiwane.

-lub-

styles zawiera wzajemnie wykluczające DateTimeStyles się wartości.

Przykłady

Poniższy przykład wywołuje metodę TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) z różnymi DateTimeStyles wartościami, aby przeanalizować niektóre ciągi w różnych formatach daty i godziny.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeLocal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeUniversal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                           DateTimeStyles.AdjustToUniversal,
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
let dateString = "05/01/2008 6:00:00"
// Assume time is local
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeLocal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Assume time is UTC
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AdjustToUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
Dim dateString As String
Dim parsedDate As DateTimeOffset

dateString = "05/01/2008 6:00:00"
' Assume time is local 
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeLocal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Assume time is UTC
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00"
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AdjustToUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If
' The example displays the following output to the console:
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
'    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.

Uwagi

To przeciążenie TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) metody jest podobne do DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się. Metoda analizuje ciąg z trzema elementami, które mogą pojawić się w dowolnej kolejności i są rozdzielane odstępami. W poniższej tabeli przedstawiono te trzy elementy.

Element Przykład
<Date> "2/10/2007"
<Godzina> "1:02:03 PM"
<Przesunięcie> "-7:30"

Mimo że każdy z tych elementów jest opcjonalny, <przesunięcie> nie może pojawić się samodzielnie. Należy je podać razem z datą> lub <godziną<>. Jeśli <brakuje daty> , jego wartością domyślną jest bieżący dzień. Jeśli <data> jest obecna, ale jej składnik roku składa się tylko z dwóch cyfr, jest konwertowany na rok w provider bieżącym kalendarzu parametru na podstawie wartości Calendar.TwoDigitYearMax właściwości. Jeśli <brakuje czasu> , jego wartość domyślna to 12:00:00. Jeśli <brakuje przesunięcia>, jego wartość domyślna to przesunięcie lokalnej strefy czasowej lub jeśli DateTimeStyles.AdjustToUniversal wartość lub ZeroDateTimeStyles.AssumeUniversal jest określona w styleselemecie . Jeśli <przesunięcie> jest obecne, może reprezentować ujemne lub dodatnie przesunięcie z uniwersalnego czasu koordynowanego (UTC). W obu przypadkach <przesunięcie> musi zawierać symbol znaku lub metoda zwraca falsewartość .

Ciąg input jest analizowany przy użyciu informacji formatowania specyficznego dla kultury w DateTimeFormatInfo obiekcie dostarczonym formatProvider przez parametr . Parametr formatProvider może być jednym z następujących:

Ponadto każdy element może być rozdzielany przez białe znaki wiodące lub końcowe, a <składniki daty> i <godziny> mogą zawierać wewnętrzne odstępy (takie jak 6: 00:00). <Tylko składnik Przesunięcie> nie może zawierać wewnętrznego odstępu.

Jeśli provider jest to null, CultureInfo używany jest obiekt odpowiadający bieżącej kulturze.

Dodatni lub ujemny znak używany w <funkcji Przesunięcie> musi mieć wartość + lub -. Nie jest definiowana przez właściwości lub obiektu zwracane przez właściwość parametru formatproviderNumberFormat.NegativeSignNumberFormatInfoPositiveSign

Obsługiwane są następujące elementy członkowskie wyliczenia DateTimeStyles :

Element członkowski DateTimeStyles Komentarze
AdjustToUniversal Analizuje ciąg reprezentowany przez input i, w razie potrzeby, konwertuje go na UTC. Jest on odpowiednikiem analizowania ciągu, a następnie wywoływania metody zwracanego obiektu ToUniversalTime() .
AllowInnerWhite Choć ważna, wartość ta jest ignorowana. Wewnętrzne odstępy są dozwolone w składnikach <Daty> i <godziny> .
AllowLeadingWhite Choć ważna, wartość ta jest ignorowana. Wiodący biały odstęp jest dozwolony przed każdym składnikiem w przeanalizowanym ciągu.
AllowTrailingWhite Choć ważna, wartość ta jest ignorowana. Końcowe odstępy są dozwolone przed każdym składnikiem w przeanalizowanym ciągu.
AllowWhiteSpaces Jest to zachowanie domyślne. Nie można go zastąpić, podając bardziej restrykcyjną DateTimeStyles wartość wyliczenia, taką jak DateTimeStyles.None.
AssumeLocal Wskazuje, że jeśli input parametr nie zawiera <elementu Przesunięcie> , należy podać przesunięcie lokalnej strefy czasowej. Jest to domyślne zachowanie TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) metody.
AssumeUniversal Wskazuje, że jeśli input parametr nie zawiera <elementu Przesunięcia> , należy podać przesunięcie UTC (00:00).
None Mimo że jest prawidłowa, ta wartość jest ignorowana i nie ma żadnego wpływu.
RoundtripKind DateTimeOffset Ponieważ struktura nie zawiera Kind właściwości, ta wartość nie ma wpływu.

Tylko wartość nie jest obsługiwana DateTimeStyles.NoCurrentDateDefault . Wartość ArgumentException jest zgłaszana, jeśli ta wartość jest uwzględniona w parametrze styles .

Zobacz też

Dotyczy

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przekonwertować określoną reprezentację zakresu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

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

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki reprezentujące datę i godzinę konwersji.

formatProvider
IFormatProvider

Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury dotyczące inputelementu .

styles
DateTimeStyles

Bitowa kombinacja wartości wyliczenia wskazująca dozwolony format .input

result
DateTimeOffset

Gdy metoda zwróci wartość równoważną DateTimeOffset dacie i godzinie input, jeśli konwersja powiodła się lub DateTimeOffset.MinValue, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli input parametr jest null lub nie zawiera prawidłowej reprezentacji ciągu daty i godziny. Ten parametr jest przekazywany jako niezainicjowany.

Zwraca

true input jeśli parametr został pomyślnie przekonwertowany; w przeciwnym razie false.

Dotyczy

TryParse(String, IFormatProvider, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przeanalizować ciąg w wartość.

public:
 static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = IParsable<DateTimeOffset>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Parametry

s
String

Ciąg do analizy.

provider
IFormatProvider

Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury dotyczące selementu .

result
DateTimeOffset

Gdy ta metoda zostanie zwrócona, zawiera wynik pomyślnego analizowania s lub niezdefiniowanej wartości po awarii.

Zwraca

true jeśli s został pomyślnie przeanalizowany; w przeciwnym razie false.

Dotyczy

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przeanalizować zakres znaków w wartości.

public:
 static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = ISpanParsable<DateTimeOffset>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Parametry

s
ReadOnlySpan<Char>

Zakres znaków do przeanalizowania.

provider
IFormatProvider

Obiekt, który udostępnia informacje o formatowaniu specyficznym dla kultury dotyczące selementu .

result
DateTimeOffset

Gdy ta metoda zostanie zwrócona, zawiera wynik pomyślnego analizowania swartości lub niezdefiniowanej wartości w przypadku niepowodzenia.

Zwraca

true jeśli s został pomyślnie przeanalizowany; w przeciwnym razie false.

Dotyczy

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przekonwertować określoną reprezentację zakresu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja zakończyła się pomyślnie.

public:
 static bool TryParse(ReadOnlySpan<char> input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (ReadOnlySpan<char> input, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), ByRef result As DateTimeOffset) As Boolean

Parametry

input
ReadOnlySpan<Char>

Zakres zawierający znaki reprezentujące datę i godzinę konwersji.

result
DateTimeOffset

Gdy metoda zostanie zwrócona, zawiera DateTimeOffset odpowiednik daty i godziny input, jeśli konwersja zakończyła się pomyślnie, lub DateTimeOffset.MinValue, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, jeśli input parametr jest null lub nie zawiera prawidłowej reprezentacji ciągu daty i godziny. Ten parametr jest przekazywany jako niezainicjowany.

Zwraca

true input jeśli parametr został pomyślnie przekonwertowany; w przeciwnym razie wartość false.

Dotyczy

TryParse(String, DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Próbuje przekonwertować określoną reprezentację ciągu daty i godziny na równoważną DateTimeOffset i zwraca wartość wskazującą, czy konwersja powiodła się.

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

Parametry

input
String

Ciąg zawierający datę i godzinę, które należy przekształcić.

result
DateTimeOffset

Gdy metoda zwraca wartość , zawiera DateTimeOffset odpowiednik daty i godziny input, jeśli konwersja powiodła się lub DateTimeOffset.MinValue, jeśli konwersja nie powiodła się. Konwersja kończy się niepowodzeniem, input jeśli parametr jest null lub nie zawiera prawidłowej reprezentacji ciągu daty i godziny. Ten parametr jest przekazywany jako niezainicjowany.

Zwraca

true input jeśli parametr został pomyślnie przekonwertowany; w przeciwnym razie wartość false.

Przykłady

Poniższy przykład wywołuje metodę TryParse(String, DateTimeOffset) , aby przeanalizować kilka ciągów z różnymi formatami daty i godziny.

DateTimeOffset parsedDate;
string dateString;

// String with date only
dateString = "05/01/2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with time only
dateString = "11:36 PM";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date and offset
dateString = "05/01/2008 +7:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with day abbreviation
dateString = "Thu May 01, 2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);
// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
// String with date only
let dateString = "05/01/2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with time only
let dateString = "11:36 PM"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date and offset
let dateString = "05/01/2008 +7:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with day abbreviation
let dateString = "Thu May 01, 2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date, time with AM/PM designator, and offset
let dateString = "5/1/2008 10:00 AM -07:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
Dim parsedDate As DateTimeOffset
Dim dateString As String

' String with date only
dateString = "05/01/2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with time only
dateString = "11:36 PM"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date and offset 
dateString = "05/01/2008 +7:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with day abbreviation
dateString = "Thu May 01, 2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)
' If run on 3/29/07, the example displays the following output
' to the console:
'    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
'    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
'    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.

Uwagi

To przeciążenie TryParse(String, DateTimeOffset) metody jest podobne do DateTimeOffset.Parse(String) metody, z tą różnicą, że nie zgłasza wyjątku w przypadku niepowodzenia konwersji. Analizuje ciąg z trzema elementami, które mogą pojawić się w dowolnej kolejności i są rozdzielane białym znakiem. W poniższej tabeli przedstawiono te trzy elementy.

Element Przykład
<Date> "2/10/2007"
<Godzina> "1:02:03 PM"
<Przesunięcie> "-7:30"

Chociaż każdy z tych elementów jest opcjonalny, <przesunięcie> nie może pojawić się samodzielnie. Należy go podać razem z datą> lub <godziną<>. Jeśli <brakuje daty> , jej wartością domyślną jest bieżący dzień. Jeśli <element Date> jest obecny, ale jego składnik roku składa się tylko z dwóch cyfr, jest konwertowany na rok w bieżącym kalendarzu bieżącej kultury na podstawie wartości Calendar.TwoDigitYearMax właściwości. Jeśli <brakuje czasu> , jego wartość domyślna to 12:00:00. Jeśli <brakuje przesunięcia> , jego wartością domyślną jest przesunięcie lokalnej strefy czasowej. Jeśli <przesunięcie> jest obecne, może reprezentować ujemne lub dodatnie przesunięcie z uniwersalnego czasu koordynowanego (UTC). W obu przypadkach <przesunięcie> musi zawierać symbol znaku lub metoda zwraca wartość false.

Ciąg input jest analizowany przy użyciu informacji o formatowaniu w obiekcie zainicjowanym DateTimeFormatInfo dla bieżącej kultury. Aby przeanalizować ciąg zawierający wyznaczone formatowanie, które nie musi odpowiadać wartości bieżącej kultury, użyj TryParseExact metody i podaj specyfikator formatu.

Zobacz też

Dotyczy