Bagikan melalui


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:

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 providergagal 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 stanggal 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:

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 .