Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez a cikk kiegészítő megjegyzéseket tartalmaz az API referenciadokumentációjához.
A DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metódus egy olyan sztringet elemez, amely dátum-, idő- és időzónaadatokat tartalmazhat. Hasonló a DateTime.Parse(String, IFormatProvider, DateTimeStyles) metódushoz, azzal a kivétellel, hogy a DateTime.TryParse(String, DateTime) metódus nem ad kivételt, ha az átalakítás sikertelen.
Ez a metódus megpróbálja figyelmen kívül hagyni a nem felismert adatokat, és teljesen elemzi a bemeneti sztringet (s). Ha s egy időpontot tartalmaz, de nincs dátum, akkor a metódus alapértelmezés szerint az aktuális dátumot helyettesíti, vagy ha styles a jelölőt NoCurrentDateDefault is tartalmazza, akkor a helyettesítő DateTime.Date.MinValue. Ha s dátumot tartalmaz, de nincs idő, akkor a rendszer az alapértelmezett időpontként az éjféli 12:00-t használja. Ha egy dátum jelen van, de az év komponense csak két számjegyből áll, akkor a dátumot a provider paraméter jelenlegi naptárának évévé alakítják Calendar.TwoDigitYearMax tulajdonság értéke alapján. A bevezető, belső vagy záró szóköz karakterek s figyelmen kívül lesznek 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).
A dátum- és időelemek konkrét érvényes formátumait, valamint a dátumokban és időpontokban használt neveket és szimbólumokat a provider paraméter határozza meg, amely az alábbiak bármelyike lehet:
- Olyan CultureInfo objektum, amely azt a kultúrát jelöli, amelynek formázását a
sparaméter használja. A DateTimeFormatInfo tulajdonság által meghatározott CultureInfo.DateTimeFormat objektum határozza meg ashasznált formázást. - Egy DateTimeFormatInfo objektum, amely meghatározza a
ssorán alkalmazott formázást. - Egyéni IFormatProvider implementáció. A IFormatProvider.GetFormat metódus egy DateTimeFormatInfo objektumot ad vissza, amely meghatározza a használt formázást
s.
Ha provider van null, a jelenlegi kultúrát használják.
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 nem szökőévben az aktuális naptárban provider, az elemzési művelet meghiúsul, és a metódus visszatér false.
A styles paraméter határozza meg az elemzési sztring pontos értelmezését, valamint azt, hogy az elemzési művelet hogyan kezelje azt. Ez az egy vagy több tagja lehet a DateTimeStyles felsorolásnak, az alábbi táblázatban leírtak szerint.
| DateTimeStyles tagja | Leírás |
|---|---|
| AdjustToUniversal |
s Elemzi és szükség esetén UTC-vé alakítja át. Ha s időzóna-eltolást tartalmaz, vagy ha s nem tartalmaz időzóna-információt, de styles tartalmazza a DateTimeStyles.AssumeLocal jelölőt, akkor a metódus elemzi a sztringet, meghívja ToUniversalTime a visszaadott DateTime érték UTC értékre konvertálását, és beállítja a Kind tulajdonságot DateTimeKind.Utc. Ha s azt jelzi, hogy utc értéket jelöl, vagy ha s nem tartalmaz időzóna-információt, de styles tartalmazza a DateTimeStyles.AssumeUniversal jelzőt, a metódus elemzi a sztringet, nem végez időzóna-átalakítást a visszaadott DateTime értéken, és a tulajdonságot a Kind következőre DateTimeKind.Utcállítja: . Minden más esetben a zászlónak nincs hatása. |
| AllowInnerWhite | Bár érvényes, a rendszer figyelmen kívül hagyja ezt az értéket. A belső fehér tér a dátum- és időelemekben smegengedett. |
| AllowLeadingWhite | Bár érvényes, a rendszer figyelmen kívül hagyja ezt az értéket. A kezdő szóköz a dátum- és időelemekben sengedélyezett. |
| AllowTrailingWhite | Bár érvényes, a rendszer figyelmen kívül hagyja ezt az értéket. A követő szóköz a dátum- és időelemekben s engedélyezett. |
| AllowWhiteSpaces | Megadja, hogy a s tartalmazhat kezdő, belső és záró szóközöket. Ez az alapértelmezett viselkedés. Nem írható felül szigorúbb DateTimeStyles enumerálási értékkel, mint például a DateTimeStyles.None. |
| AssumeLocal | Azt adja meg, hogy ha s nem áll rendelkezésre időzóna-információ, akkor a rendszer azt feltételezi, hogy egy helyi időpontot jelöl. Ha nincs megadva a DateTimeStyles.AdjustToUniversal jelölő, a Kind visszaadott DateTime érték tulajdonsága a következőre DateTimeKind.Localvan állítva: . |
| AssumeUniversal | Azt adja meg, hogy ha s nem áll rendelkezésre időzóna-információ, akkor feltételezzük, hogy az UTC-t jelöli. Ha nincs megadva a DateTimeStyles.AdjustToUniversal jelölő, a metódus a visszaadott DateTime értéket UTC-ről helyi időpontra konvertálja, és a tulajdonságát a következőre KindállítjaDateTimeKind.Local: . |
| None | Bár érvényes, a rendszer figyelmen kívül hagyja ezt az értéket. |
| RoundtripKind | Az időzóna-adatokat tartalmazó sztringek esetében megkísérli megakadályozni a dátum- és idősztringek olyan DateTime értékre való konvertálását, amelynek Kind tulajdonsága DateTimeKind.Local értékre van állítva. Az ilyen sztringek általában a DateTime.ToString(String) metódus meghívásával jönnek létre, az "o", "r" vagy "u" szabványos formátumjelölőt használva. |
Ha s nem tartalmaz időzóna-információt, a DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metódus olyan DateTime értéket ad vissza, amelynek Kind a tulajdonsága DateTimeKind.Unspecified , kivéve, ha egy styles jelölő másként nem jelez. Ha s időzóna- vagy időzóna-eltolásadatokat is tartalmaz, a metódus elvégzi a DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) szükséges időátalakítást, és az alábbiak egyikét adja vissza:
- Olyan DateTime érték, amelynek dátuma és ideje a helyi időt tükrözi, és amelynek Kind tulajdonsága .DateTimeKind.Local
- Vagy, ha
stylestartalmazza a AdjustToUniversal jelölőt, az DateTime az érték, amelynek dátuma és ideje az UTC-t tükrözi, és amelynek Kind a tulajdonsága DateTimeKind.Utc.
Ezt a viselkedést felülbíráltathatja a DateTimeStyles.RoundtripKind jelölő használatával.
Egyéni kultúrák elemzése
Ha egy egyéni kultúrához létrehozott dátum- és idősztringet elemez, a TryParseExact metódust használja a TryParse metódus helyett, hogy növelje annak valószínűségét, hogy az elemzési művelet sikeres lesz. Az egyéni kulturális dátum- és idősztringek bonyolultak és nehezen elemezhetők. A TryParse metódus több implicit elemzési mintával rendelkező sztringet próbál elemezni, amelyek mindegyike sikertelen lehet. Ezzel szemben a TryParseExact módszer megköveteli, hogy explicit módon jelöljön ki egy vagy több olyan pontos elemzési mintát, amely valószínűleg sikeres lesz.
Az egyéni kultúrákról további információkért nézd meg a System.Globalization.CultureAndRegionInfoBuilder osztályt.