Metode System.DateTime.TryParse
Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.
Metode ini DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) menguraikan string yang dapat berisi informasi tanggal, waktu, dan zona waktu. Ini mirip DateTime.Parse(String, IFormatProvider, DateTimeStyles) dengan metode , kecuali bahwa DateTime.TryParse(String, DateTime) metode tidak melemparkan pengecualian jika konversi gagal.
Metode ini mencoba mengabaikan data yang tidak dikenal dan mengurai string input (s
) sepenuhnya. Jika s
berisi waktu tetapi tidak ada tanggal, metode secara default menggantikan tanggal saat ini atau, jika styles
menyertakan NoCurrentDateDefault bendera, metode tersebut menggantikan DateTime.Date.MinValue
. Jika s
berisi tanggal tetapi tidak ada waktu, 12:00 tengah malam digunakan sebagai waktu default. Jika ada tanggal tetapi komponen tahunnya hanya terdiri dari dua digit, tanggal tersebut dikonversi menjadi satu tahun dalam provider
kalender parameter saat ini berdasarkan nilai Calendar.TwoDigitYearMax properti. Karakter spasi s
kosong di awal, dalam, atau akhir diabaikan. Tanggal dan waktu dapat dikurung dengan sepasang karakter TANDA ANGKA di depan dan berikutnya ('#', U+0023), dan dapat dibuntuti dengan satu atau beberapa karakter NULL (U+0000).
Format spesifik yang valid untuk elemen tanggal dan waktu, serta nama dan simbol yang digunakan dalam tanggal dan waktu, didefinisikan oleh provider
parameter , yang dapat berupa salah satu dari yang berikut ini:
- Objek CultureInfo yang mewakili budaya yang pemformatannya digunakan dalam
s
parameter . Objek DateTimeFormatInfo yang CultureInfo.DateTimeFormat dikembalikan oleh properti menentukan pemformatan yang digunakan dalams
. - Objek DateTimeFormatInfo yang menentukan pemformatan yang digunakan dalam
s
. - Implementasi kustom IFormatProvider . Metodenya IFormatProvider.GetFormat mengembalikan DateTimeFormatInfo objek yang menentukan pemformatan yang digunakan dalam
s
.
Jika provider
adalah null
, budaya saat ini digunakan.
Jika s
merupakan representasi string dari hari lompatan dalam tahun kampung di kalender saat ini, metode berhasil diurai s
. Jika s
adalah representasi string dari hari lompatan dalam tahun non-lompatan di kalender saat ini , operasi penguraian provider
gagal dan metode mengembalikan false
.
Parameter styles
mendefinisikan interpretasi yang tepat dari string yang diurai dan bagaimana operasi penguraian harus menanganinya. Ini bisa menjadi satu atau beberapa DateTimeStyles anggota enumerasi, seperti yang dijelaskan dalam tabel berikut.
Anggota DateTimeStyles | Deskripsi |
---|---|
AdjustToUniversal | Mengurai s dan, jika perlu, mengonversinya ke UTC. Jika s menyertakan offset zona waktu, atau jika s tidak berisi informasi zona waktu tetapi styles menyertakan DateTimeStyles.AssumeLocal bendera, metode menguraikan string, memanggil ToUniversalTime untuk mengonversi nilai yang dikembalikan DateTime ke UTC, dan mengatur Kind properti ke DateTimeKind.Utc. Jika s menunjukkan bahwa ia mewakili UTC, atau jika s tidak berisi informasi zona waktu tetapi styles menyertakan DateTimeStyles.AssumeUniversal bendera, metode mengurai string, tidak melakukan konversi zona waktu pada nilai yang dikembalikan DateTime , dan mengatur Kind properti ke DateTimeKind.Utc. Dalam semua kasus lain, bendera tidak berpengaruh. |
AllowInnerWhite | Meskipun valid, nilai ini diabaikan. Spasi putih dalam diizinkan dalam elemen tanggal dan waktu .s |
AllowLeadingWhite | Meskipun valid, nilai ini diabaikan. Spasi putih di depan diizinkan dalam elemen s tanggal dan waktu . |
AllowTrailingWhite | Meskipun valid, nilai ini diabaikan. Spasi putih berikutnya diizinkan dalam elemen tanggal dan waktu .s |
AllowWhiteSpaces | Menentukan yang s mungkin berisi spasi kosong di depan, dalam, dan belakang. Ini adalah perilaku default. Ini tidak dapat ditimpa dengan menyediakan nilai enumerasi yang lebih ketat DateTimeStyles seperti DateTimeStyles.None. |
AssumeLocal | Menentukan bahwa jika s tidak memiliki informasi zona waktu apa pun, diasumsikan mewakili waktu lokal. DateTimeStyles.AdjustToUniversal Kecuali bendera ada, Kind properti nilai yang dikembalikan DateTime diatur ke DateTimeKind.Local. |
AssumeUniversal | Menentukan bahwa jika s tidak memiliki informasi zona waktu, diasumsikan mewakili UTC. DateTimeStyles.AdjustToUniversal Kecuali bendera ada, metode mengonversi nilai yang dikembalikan DateTime dari UTC ke waktu lokal dan mengatur propertinya Kind ke DateTimeKind.Local. |
None | Meskipun valid, nilai ini diabaikan. |
RoundtripKind | Untuk string yang berisi informasi zona waktu, mencoba mencegah konversi string tanggal dan waktu ke DateTime nilai dengan propertinya Kind diatur ke DateTimeKind.Local. Biasanya, string semacam itu dibuat dengan memanggil DateTime.ToString(String) metode menggunakan penentu format standar "o", "r", atau "u". |
Jika s
tidak berisi informasi zona waktu, DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metode mengembalikan DateTime nilai yang propertinya KindDateTimeKind.Unspecified kecuali styles
bendera menunjukkan sebaliknya. Jika s
menyertakan informasi offset zona waktu atau zona waktu, DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metode melakukan konversi waktu yang diperlukan dan mengembalikan salah satu hal berikut:
- DateTime Nilai yang tanggal dan waktunya mencerminkan waktu lokal dan propertinya Kind adalah DateTimeKind.Local.
- Atau, jika
styles
menyertakan AdjustToUniversal bendera, DateTime nilai yang tanggal dan waktunya mencerminkan UTC dan yang propertinya Kind adalah DateTimeKind.Utc.
Perilaku ini dapat ditimpa dengan menggunakan DateTimeStyles.RoundtripKind bendera .
Mengurai budaya kustom
Jika Anda mengurai string tanggal dan waktu yang dihasilkan untuk budaya kustom, gunakan TryParseExact metode alih-alih TryParse metode untuk meningkatkan probabilitas bahwa operasi penguraian akan berhasil. String tanggal dan waktu budaya kustom bisa rumit dan sulit diurai. Metode ini TryParse mencoba mengurai string dengan beberapa pola penguraian implisit, yang semuanya mungkin gagal. Sebaliknya, metode ini TryParseExact mengharuskan Anda untuk secara eksplisit menunjuk satu atau beberapa pola penguraian yang tepat yang kemungkinan akan berhasil.
Untuk informasi selengkapnya tentang budaya kustom, lihat System.Globalization.CultureAndRegionInfoBuilder kelas .