DateTime.TryParse Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy dátum és idő megadott sztringképét konvertálja annak DateTime megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
Túlterhelések
| Name | Description |
|---|---|
| TryParse(ReadOnlySpan<Char>, DateTime) |
Egy dátum és idő megadott karaktertartományát a megfelelő értékké DateTime alakítja, és egy értéket ad vissza, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(String, DateTime) |
Egy dátum és idő megadott sztringképét konvertálja annak DateTime megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime) |
Egy karaktertartományt próbál elemezni egy értékben. |
| TryParse(String, IFormatProvider, DateTime) |
Megpróbál egy sztringet egy értékbe elemezni. |
| TryParse(String, IFormatProvider, DateTimeStyles, DateTime) |
Egy dátum és idő megadott sztringképét a megadott kultúraspecifikus formátumadatok és formázási stílus használatával konvertálja DateTime annak megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
A megadott kultúraspecifikus formátumadatok és formázási stílus használatával konvertálja egy dátum és idő DateTime span ábrázolását annak megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e. |
Megjegyzések
Important
A japán naptárak korszakai a császár uralkodásán alapulnak, ezért várhatóan megváltoznak. 2019. május 1-jén például a Reiwa-korszak kezdetét jelentette JapaneseCalendar és JapaneseLunisolarCalendar. Az ilyen korszakváltás minden olyan alkalmazást érint, amely ezeket a naptárakat használja. További információkért és annak megállapításához, hogy az alkalmazások érintettek-e, olvassa el az Új korszak kezelése a japán naptárban a .NET-ben című témakört. Az alkalmazások windowsos rendszereken való tesztelésével kapcsolatos információkért, amelyek biztosítják, hogy felkészültek legyenek a korszakváltásra, olvassa el az alkalmazás előkészítése a japán korszakváltásra című témakört. A több korszakot támogató naptárakat támogató .NET-funkciókért és a több korszakot támogató naptárak használatakor ajánlott eljárásokért lásd: Korszakok használata.
TryParse(ReadOnlySpan<Char>, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
Egy dátum és idő megadott karaktertartományát a megfelelő értékké DateTime alakítja, és egy értéket ad vissza, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, out DateTime result);
static member TryParse : ReadOnlySpan<char> * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As DateTime) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
Dátumot és időt tartalmazó sztring az átalakításhoz.
- result
- DateTime
Ha ez a metódus visszaadja, a DateTime dátummal és idővel segyenértékű értéket tartalmazza, ha az átalakítás sikeres volt, vagy a DateTime.MinValue értéket, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter nullüres sztring (""), vagy nem tartalmaz dátum és idő érvényes sztring-ábrázolását. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha a s paraméter konvertálása sikeresen megtörtént; ellenkező esetben. false
A következőre érvényes:
TryParse(String, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
Egy dátum és idő megadott sztringképét konvertálja annak DateTime megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, out DateTime result);
public static bool TryParse(string? s, out DateTime result);
static member TryParse : string * DateTime -> bool
Public Shared Function TryParse (s As String, ByRef result As DateTime) As Boolean
Paraméterek
- s
- String
Dátumot és időt tartalmazó sztring az átalakításhoz.
- result
- DateTime
Ha ez a metódus visszaadja, a DateTime dátummal és idővel segyenértékű értéket tartalmazza, ha az átalakítás sikeres volt, vagy a DateTime.MinValue értéket, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter nullüres sztring (""), vagy nem tartalmaz dátum és idő érvényes sztring-ábrázolását. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha a s paraméter konvertálása sikeresen megtörtént; ellenkező esetben. false
Példák
Az alábbi példa számos dátum- és idősztringet ad át a DateTime.TryParse(String, DateTime) metódusnak.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT" };
DateTime dateValue;
Console.WriteLine("Attempting to parse strings using {0} culture.",
CultureInfo.CurrentCulture.Name);
foreach (string dateString in dateStrings)
{
if (DateTime.TryParse(dateString, out dateValue))
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString,
dateValue, dateValue.Kind);
else
Console.WriteLine(" Unable to parse '{0}'.", dateString);
}
}
}
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
//
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
open System
open System.Globalization
let dateStrings =
[ "05/01/2009 14:57:32.8"; "2009-05-01 14:57:32.8"
"2009-05-01T14:57:32.8375298-04:00"; "5/01/2008"
"5/01/2008 14:57:32.80 -07:00"
"1 May 2008 2:57:32.8 PM"; "16-05-2009 1:00:32 PM"
"Fri, 15 May 2009 20:10:57 GMT" ]
printfn $"Attempting to parse strings using {CultureInfo.CurrentCulture.Name} culture."
for dateString in dateStrings do
match DateTime.TryParse dateString with
| true, dateValue ->
printfn $" Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $" Unable to parse '{dateString}'."
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateStrings() As String = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT"}
Dim dateValue As Date
Console.WriteLine("Attempting to parse strings using {0} culture.", _
CultureInfo.CurrentCulture.Name)
For Each dateString As String In dateStrings
If Date.TryParse(dateString, dateValue) Then
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString, _
dateValue, dateValue.Kind)
Else
Console.WriteLine(" Unable to parse '{0}'.", dateString)
End If
Next
End Sub
End Module
' The example displays output like the following:
' Attempting to parse strings using en-US culture.
' Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
'
' Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
' Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
' Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
' Unable to parse '16-05-2009 1:00:32 PM'.
' Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Megjegyzések
A DateTime.TryParse(String, DateTime) metódus hasonló a DateTime.Parse(String) metódushoz, azzal a kivétellel, hogy a TryParse(String, DateTime) metódus nem ad kivételt, ha az átalakítás sikertelen.
A sztring s az aktuális DateTimeFormatInfo objektum formázási információinak használatával van elemezve, amelyet az aktuális kultúra implicit módon biztosít.
Ez a metódus lehetőség szerint megpróbálja figyelmen kívül hagyni a nem felismert adatokat, és kitölti a hiányzó hónap-, nap- és évadatokat az aktuális dátummal. Ha s csak dátumot tartalmaz, és nincs idő, akkor ez a metódus feltételezi, hogy az idő éjfél 12:00. Ha s egy kétjegyű évszámmal rendelkező dátumösszetevőt tartalmaz, akkor a rendszer a tulajdonság értéke alapján az aktuális kultúra aktuális naptárában egy évre konvertálja Calendar.TwoDigitYearMax . Minden kezdő, belső vagy záró szóköz karakter s figyelmen kívül lesz hagyva. A dátum és az idő elején és végén SZÁMJEL karakterek ('#', U+0023) szerepelnek, és követheti őket egy vagy több NULL karakter (U+0000).
Mivel a metódus az DateTime.TryParse(String, DateTime) aktuális kultúra formázási szabályaival próbálja elemezni egy dátum és idő sztringképét, egy adott sztring különböző kultúrák közötti elemzése sikertelen lehet, vagy eltérő eredményeket adhat vissza. Ha egy adott dátum- és időformátum különböző területi beállítások szerint lesz elemezve, használja a DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metódus vagy a metódus túlterheléseinek egyikét TryParseExact , és adjon meg egy formátumjelölőt.
Ha s a szökőnap sztring formája egy szökőévben az aktuális naptárban, a metódus sikeresen értelmezi s. Ha s egy szökőnap sztringje egy szökőévben az aktuális kultúra aktuális naptárában, az elemzési művelet meghiúsul, és a metódus visszatér false.
Ha s nem tartalmaz időzóna-információt, olyan értéket tartalmazresult, DateTime amelynek Kind tulajdonsága a metódus visszaadásakor vanDateTimeKind.Unspecified. Ha az elemezni kívánt sztring időzóna-információkat tartalmaz, olyan értéket tartalmazresult, DateTime amelynek Kind tulajdonsága a metódus visszatérésekor vanDateTimeKind.Local.
Megjegyzések a hívókhoz
A formázást az aktuális DateTimeFormatInfo objektum tulajdonságai befolyásolják, amelyek alapértelmezés szerint a Regionális és nyelvi beállítások elemből származnak Vezérlőpult. A TryParse metódus váratlanul meghiúsulhat, és visszatérhet False , ha az aktuális DateSeparator és TimeSeparator a tulajdonságok ugyanabba az értékre vannak beállítva.
Lásd még
- Parse
- CultureInfo
- DateTimeFormatInfo
- Dátum- és idősztringek elemzése a .NET-keretrendszerben
- Szabványos dátum- és időformátum-karakterláncok
- Egyéni dátum- és időformátum-karakterláncok
- minta: .NET Core WinForms Formatting Utility (C#)
- minta: .NET Core WinForms Formatting Utility (Visual Basic)
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
Egy karaktertartományt próbál elemezni egy értékben.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = ISpanParsable<DateTime>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTime) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
Az elemezni kívánt karakterek száma.
- provider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz a fájlról s.
- result
- DateTime
Amikor ez a metódus visszatér, a sikeres elemzés seredményét vagy a hiba egy nem definiált értékét tartalmazza.
Válaszok
trueha s sikeresen elemezték; ellenkező esetben. false
A következőre érvényes:
TryParse(String, IFormatProvider, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
Megpróbál egy sztringet egy értékbe elemezni.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = IParsable<DateTime>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out DateTime result);
static member TryParse : string * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTime) As Boolean
Paraméterek
- s
- String
Az elemezni kívánt sztring.
- provider
- IFormatProvider
Egy objektum, amely kultúraspecifikus formázási információkat tartalmaz a fájlról s.
- result
- DateTime
Amikor ez a metódus visszatér, a sikeres elemzés s eredményét vagy egy nem definiált hibát tartalmaz.
Válaszok
trueha s sikeresen elemezték; ellenkező esetben. false
A következőre érvényes:
TryParse(String, IFormatProvider, DateTimeStyles, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
Egy dátum és idő megadott sztringképét a megadott kultúraspecifikus formátumadatok és formázási stílus használatával konvertálja DateTime annak megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(string? s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Paraméterek
- s
- String
Dátumot és időt tartalmazó sztring az átalakításhoz.
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási sinformációkat tartalmazza.
- styles
- DateTimeStyles
Az enumerálási értékek bitenkénti kombinációja, amely meghatározza az elemezt dátum értelmezését az aktuális időzónához vagy az aktuális dátumhoz képest. Egy jellemzően megadható érték a következő None: .
- result
- DateTime
Ha ez a metódus visszaadja, a DateTime dátummal és idővel segyenértékű értéket tartalmazza, ha az átalakítás sikeres volt, vagy a DateTime.MinValue értéket, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter nullüres sztring (""), vagy nem tartalmaz dátum és idő érvényes sztring-ábrázolását. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha a s paraméter konvertálása sikeresen megtörtént; ellenkező esetben. false
Kivételek
styles érvénytelen DateTimeStyles érték.
-vagy-
styles érvénytelen értékkombinációt DateTimeStyles tartalmaz (például mindkettőt AssumeLocal és AssumeUniversal).
provider egy semleges kultúra, és nem használható elemzési műveletben.
Példák
Az alábbi példa a metódust szemlélteti DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) .
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string dateString;
CultureInfo culture;
DateTimeStyles styles;
DateTime dateResult;
// Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM";
culture = CultureInfo.CreateSpecificCulture("en-US");
styles = DateTimeStyles.None;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.",
dateString);
// Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00";
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00";
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
dateString = "2008-03-01 10:00";
culture = CultureInfo.CreateSpecificCulture("fr-FR");
styles = DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
}
}
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
open System
open System.Globalization
[<EntryPoint>]
let main _ =
// Parse a date and time with no styles.
let dateString = "03/01/2009 10:00 AM"
let culture = CultureInfo.CreateSpecificCulture "en-US"
let styles = DateTimeStyles.None
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse the same date and time with the AssumeLocal style.
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
let dateString = "2009/03/01T10:00:00-5:00"
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Attempt to convert a string in improper ISO 8601 format.
let dateString = "03/01/2009T10:00:00-5:00"
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
let dateString = "2008-03-01 10:00"
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
let styles = DateTimeStyles.AdjustToUniversal ||| DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
0
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateString As String
Dim culture As CultureInfo
Dim styles As DateTimeStyles
Dim dateResult As DateTime
' Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM"
culture = CultureInfo.CreateSpecificCulture("en-US")
styles = DateTimeStyles.None
If DateTime.TryParse(dateString, culture, styles, dateResult) Then
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse a date and time that is assumed to be local.
' This time is five hours behind UTC. The local system's time zone is
' eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00"
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00"
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Assume a date and time string formatted for the fr-FR culture is the local
' time and convert it to UTC.
dateString = "2008-03-01 10:00"
culture = CultureInfo.CreateSpecificCulture("fr-FR")
styles = DateTimeStyles.AdjustToUniversal Or DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
End Sub
End Module
' The example displays the following output to the console:
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
' 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
' Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
' 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Megjegyzések
Az API-val kapcsolatos további információkért lásd a DateTime.TryParse kiegészítő API-megjegyzéseit.
Megjegyzések a hívókhoz
A formázást az aktuális DateTimeFormatInfo objektum tulajdonságai befolyásolják, amelyet a provider paraméter biztosít. A TryParse metódus váratlanul meghiúsulhat, és visszatérhet False , ha az aktuális DateSeparator és TimeSeparator a tulajdonságok ugyanabba az értékre vannak beállítva.
Lásd még
- Parse
- CultureInfo
- DateTimeFormatInfo
- Dátum- és idősztringek elemzése a .NET-keretrendszerben
- Szabványos dátum- és időformátum-karakterláncok
- Egyéni dátum- és időformátum-karakterláncok
A következőre érvényes:
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
- Forrás:
- DateTime.cs
A megadott kultúraspecifikus formátumadatok és formázási stílus használatával konvertálja egy dátum és idő DateTime span ábrázolását annak megfelelőjeként, és visszaad egy értéket, amely jelzi, hogy az átalakítás sikeres volt-e.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Paraméterek
- s
- ReadOnlySpan<Char>
Az átalakítandó dátumot és időt képviselő karaktereket tartalmazó span.
- provider
- IFormatProvider
Egy objektum, amely a kultúraspecifikus formázási sinformációkat tartalmazza.
- styles
- DateTimeStyles
Az enumerálási értékek bitenkénti kombinációja, amely meghatározza az elemezt dátum értelmezését az aktuális időzónához vagy az aktuális dátumhoz képest. Egy jellemzően megadható érték a következő None: .
- result
- DateTime
Ha ez a metódus visszaadja, a DateTime dátummal és idővel segyenértékű értéket tartalmazza, ha az átalakítás sikeres volt, vagy a DateTime.MinValue értéket, ha az átalakítás sikertelen volt. Az átalakítás meghiúsul, ha a s paraméter nullüres sztring (""), vagy nem tartalmaz dátum és idő érvényes sztring-ábrázolását. Ez a paraméter nem inicializálva lesz átadva.
Válaszok
trueha a s paraméter konvertálása sikeresen megtörtént; ellenkező esetben. false