DateTimeOffset.TryParse Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 input
elementu .
- 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 styles
elemecie . 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 false
wartość .
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:
CultureInfo Obiekt reprezentujący kulturę, której formatowanie jest używane w
input
obiekcie . DateTimeFormatInfo Obiekt zwrócony przez CultureInfo.DateTimeFormat właściwość definiuje format używany winput
obiekcie .DateTimeFormatInfo Obiekt, który definiuje format danych daty i godziny.
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 formatprovider
NumberFormat.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 input
elementu .
- 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 s
elementu .
- 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 s
elementu .
- result
- DateTimeOffset
Gdy ta metoda zostanie zwrócona, zawiera wynik pomyślnego analizowania s
wartoś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ż
- Parse
- Przykład: .NET Core WinForms Formatting Utility (C#)
- Przykład: .NET Core WinForms Formatting Utility (Visual Basic)