DateTime.TryParseExact Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengonversi representasi string yang ditentukan dari tanggal dan waktu menjadi DateTime setara. Format representasi string harus sama persis dengan format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil.
Overload
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi representasi rentang tanggal dan waktu yang ditentukan ke DateTime yang setara menggunakan format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi rentang karakter yang ditentukan dari tanggal dan waktu ke DateTime nilai yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara menggunakan format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara menggunakan array format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan setidaknya salah satu format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
Keterangan
Penting
Era dalam kalender Jepang didasarkan pada pemerintahan kaisar dan karenanya diharapkan berubah. Misalnya, 1 Mei 2019 menandai awal era Reiwa di JapaneseCalendar dan JapaneseLunisolarCalendar. Perubahan era seperti itu mempengaruhi semua aplikasi yang menggunakan kalender ini. Untuk informasi selengkapnya dan untuk menentukan apakah aplikasi Anda terpengaruh, lihat Menangani era baru di kalender Jepang di .NET. Untuk informasi tentang menguji aplikasi Anda pada sistem Windows untuk memastikan kesiapannya untuk perubahan era, lihat Menyiapkan aplikasi Anda untuk perubahan era Jepang. Untuk fitur di .NET yang mendukung kalender dengan beberapa era dan untuk praktik terbaik saat bekerja dengan kalender yang mendukung beberapa era, lihat Bekerja dengan era.
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi representasi rentang tanggal dan waktu yang ditentukan ke DateTime yang setara menggunakan format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParseExact(ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider? provider, System.Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (ReadOnlySpan<char> s, ReadOnlySpan<char> format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), format As ReadOnlySpan(Of Char), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili tanggal dan waktu untuk dikonversi.
- format
- ReadOnlySpan<Char>
Format yang diperlukan dari s
.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
.
- style
- DateTimeStyles
Kombinasi bitwise dari satu atau beberapa nilai enumerasi yang menunjukkan format yang diizinkan dari s
.
- result
- DateTime
Ketika metode ini kembali, berisi DateTime nilai yang setara dengan tanggal dan waktu yang terkandung dalam s
, jika konversi berhasil, atau DateTime.MinValue jika konversi gagal. Konversi gagal jika s
parameter atau format
adalah null
, adalah string kosong, atau tidak berisi tanggal dan waktu yang sesuai dengan pola yang ditentukan dalam format
. Parameter ini diteruskan tanpa diinisialisasi.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Berlaku untuk
TryParseExact(ReadOnlySpan<Char>, String[], IFormatProvider, DateTimeStyles, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi rentang karakter yang ditentukan dari tanggal dan waktu ke DateTime nilai yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParseExact(ReadOnlySpan<char> s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (ReadOnlySpan<char> s, string?[]? formats, IFormatProvider? provider, System.Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (ReadOnlySpan<char> s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : ReadOnlySpan<char> * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As ReadOnlySpan(Of Char), formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi string untuk diurai.
- formats
- String[]
Array format yang diperbolehkan dari s
.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
.
- style
- DateTimeStyles
Kombinasi bitwise dari nilai enumerasi yang menentukan cara menginterpretasikan tanggal yang diurai sehubungan dengan zona waktu saat ini atau tanggal saat ini. Nilai umum yang akan ditentukan adalah None.
- result
- DateTime
Ketika metode ini kembali, berisi DateTime nilai yang setara dengan tanggal dan waktu yang terkandung dalam s
, jika konversi berhasil, atau DateTime.MinValue jika konversi gagal. Konversi gagal jika s
parameter adalah null
, adalah Empty, atau tidak berisi representasi string yang valid dari tanggal dan waktu. Parameter ini diteruskan tanpa diinisialisasi.
Mengembalikan
true
s
jika parameter berhasil dikonversi; jika tidak, false
.
Berlaku untuk
TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara menggunakan format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParseExact(System::String ^ s, System::String ^ format, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string format, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (string? s, string? format, IFormatProvider? provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, format As String, provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- String
String yang berisi tanggal dan waktu untuk dikonversi.
- format
- String
Format yang diperlukan dari s
.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
.
- style
- DateTimeStyles
Kombinasi bitwise dari satu atau beberapa nilai enumerasi yang menunjukkan format yang diizinkan dari s
.
- result
- DateTime
Ketika metode ini kembali, berisi DateTime nilai yang setara dengan tanggal dan waktu yang terkandung dalam s
, jika konversi berhasil, atau DateTime.MinValue jika konversi gagal. Konversi gagal jika s
parameter atau format
adalah null
, adalah string kosong, atau tidak berisi tanggal dan waktu yang sesuai dengan pola yang ditentukan dalam format
. Parameter ini diteruskan tanpa diinisialisasi.
Mengembalikan
true
jika s
berhasil dikonversi; jika tidak, false
.
Pengecualian
styles
bukan nilai yang valid DateTimeStyles .
-atau-
styles
berisi kombinasi DateTimeStyles nilai yang tidak valid (misalnya, dan AssumeLocalAssumeUniversal).
Contoh
Contoh berikut menunjukkan DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) metode . Perhatikan bahwa string " 5/01/2009 8:30 AM" tidak dapat berhasil diurai ketika styles
parameter sama DateTimeStyles.None karena spasi di depan tidak diizinkan oleh format
. Selain itu, string "5/01/2009 09:00" tidak dapat berhasil diurai dengan format
"MM/dd/yyyyhh:mm" karena string tanggal tidak mendahului nomor bulan dengan nol di depannya, sesuai format
kebutuhan.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
CultureInfo enUS = new CultureInfo("en-US");
string dateString;
DateTime dateValue;
// Parse date with no style flags.
dateString = " 5/01/2009 8:30 AM";
if (DateTime.TryParseExact(dateString, "g", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Allow a leading space in the date string.
if (DateTime.TryParseExact(dateString, "g", enUS,
DateTimeStyles.AllowLeadingWhite, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Use custom formats with M and MM.
dateString = "5/01/2009 09:00";
if (DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Allow a leading space in the date string.
if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Parse a string with time zone information.
dateString = "05/01/2009 01:30:42 PM -05:00";
if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Allow a leading space in the date string.
if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS,
DateTimeStyles.AdjustToUniversal, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
// Parse a string representing UTC.
dateString = "2008-06-11T16:11:20.0904778Z";
if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture,
DateTimeStyles.RoundtripKind, out dateValue))
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue,
dateValue.Kind);
else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString);
}
}
// The example displays the following output:
// ' 5/01/2009 8:30 AM' is not in an acceptable format.
// Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
// Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
// '5/01/2009 09:00' is not in an acceptable format.
// Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
// Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
// Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
// Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).
open System
open System.Globalization
[<EntryPoint>]
let main _ =
let enUS = CultureInfo "en-US"
// Parse date with no style flags.
let dateString = " 5/01/2009 8:30 AM"
match DateTime.TryParseExact(dateString, "g", enUS, DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Allow a leading space in the date string.
match DateTime.TryParseExact(dateString, "g", enUS, DateTimeStyles.AllowLeadingWhite) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Use custom formats with M and MM.
let dateString = "5/01/2009 09:00"
match DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Allow a leading space in the date string.
match DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Parse a string with time zone information.
let dateString = "05/01/2009 01:30:42 PM -05:00"
match DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Allow a leading space in the date string.
match DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, DateTimeStyles.AdjustToUniversal) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
// Parse a string representing UTC.
let dateString = "2008-06-11T16:11:20.0904778Z"
match DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
match DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $"'{dateString}' is not in an acceptable format."
0
// The example displays the following output:
// ' 5/01/2009 8:30 AM' is not in an acceptable format.
// Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
// Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
// '5/01/2009 09:00' is not in an acceptable format.
// Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
// Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
// Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
// Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim enUS As New CultureInfo("en-US")
Dim dateString As String
Dim dateValue As Date
' Parse date with no style flags.
dateString = " 5/01/2009 8:30 AM"
If Date.TryParseExact(dateString, "g", enUS, _
DateTimeStyles.None, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Allow a leading space in the date string.
If Date.TryParseExact(dateString, "g", enUS, _
DateTimeStyles.AllowLeadingWhite, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Use custom formats with M and MM.
dateString = "5/01/2009 09:00"
If Date.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, _
DateTimeStyles.None, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Allow a leading space in the date string.
If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm", enUS, _
DateTimeStyles.None, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Parse a string with time zone information.
dateString = "05/01/2009 01:30:42 PM -05:00"
If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
DateTimeStyles.None, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Allow a leading space in the date string.
If Date.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, _
DateTimeStyles.AdjustToUniversal, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
' Parse a string representing UTC.
dateString = "2008-06-11T16:11:20.0904778Z"
If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
DateTimeStyles.None, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
If Date.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, _
DateTimeStyles.RoundtripKind, dateValue) Then
Console.WriteLine("Converted '{0}' to {1} ({2}).", dateString, dateValue, _
dateValue.Kind)
Else
Console.WriteLine("'{0}' is not in an acceptable format.", dateString)
End If
End Sub
End Module
' The example displays the following output:
' ' 5/01/2009 8:30 AM' is not in an acceptable format.
' Converted ' 5/01/2009 8:30 AM' to 5/1/2009 8:30:00 AM (Unspecified).
' Converted '5/01/2009 09:00' to 5/1/2009 9:00:00 AM (Unspecified).
' '5/01/2009 09:00' is not in an acceptable format.
' Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 11:30:42 AM (Local).
' Converted '05/01/2009 01:30:42 PM -05:00' to 5/1/2009 6:30:42 PM (Utc).
' Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 9:11:20 AM (Local).
' Converted '2008-06-11T16:11:20.0904778Z' to 6/11/2008 4:11:20 PM (Utc).
Keterangan
Metode ini DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) menguraikan representasi string tanggal, yang harus dalam format yang ditentukan oleh format
parameter . Ini mirip DateTime.ParseExact(String, String, IFormatProvider, DateTimeStyles) dengan metode , kecuali bahwa TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) metode tidak memberikan pengecualian jika konversi gagal.
Parameter s
berisi tanggal dan waktu untuk diurai dan harus dalam format yang ditentukan oleh format
parameter . Jika elemen tanggal, waktu, dan zona waktu ada di s
, elemen tersebut juga harus muncul dalam urutan yang ditentukan oleh format
. Jika format
menentukan tanggal tanpa elemen waktu dan operasi penguraian berhasil, nilai yang dihasilkan DateTime memiliki waktu tengah malam (00:00:00). Jika format
menentukan waktu tanpa elemen tanggal dan operasi penguraian berhasil, nilai yang dihasilkan DateTime secara default memiliki tanggal DateTime.Now.Date
, atau memiliki tanggal DateTime.MinValue.Date
jika styles
menyertakan DateTimeStyles.NoCurrentDateDefault bendera. Parameter style
menentukan apakah s
parameter dapat berisi karakter spasi putih di depan, dalam, atau di belakang.
Jika s
tidak berisi informasi zona waktu, Kind properti objek yang dikembalikan DateTime adalah DateTimeKind.Unspecified. Perilaku ini dapat diubah dengan menggunakan DateTimeStyles.AssumeLocal bendera , yang mengembalikan DateTime nilai yang propertinya Kind adalah DateTimeKind.Local, atau dengan menggunakan DateTimeStyles.AssumeUniversal bendera dan DateTimeStyles.AdjustToUniversal , yang mengembalikan DateTime nilai yang propertinya Kind adalah DateTimeKind.Utc. Jika s berisi informasi zona waktu, waktu dikonversi ke waktu lokal, jika perlu, dan Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Local. Perilaku ini dapat diubah dengan menggunakan DateTimeStyles.RoundtripKind bendera untuk tidak mengonversi Waktu Universal Terkoordinasi (UTC) ke waktu lokal dan mengatur Kind properti ke DateTimeKind.Utc.
Parameter format
berisi pola yang sesuai dengan format parameter yang s
diharapkan. Pola dalam format
parameter terdiri dari satu atau beberapa penentu format kustom dari tabel String Format Tanggal dan Waktu Kustom , atau penentu format standar tunggal, yang mengidentifikasi pola yang telah ditentukan sebelumnya, dari tabel String Format Tanggal dan Waktu Standar .
Jika Anda tidak menggunakan pemisah tanggal atau waktu dalam pola format kustom, gunakan budaya invarian untuk provider
parameter dan bentuk terluas dari setiap penentu format kustom. Misalnya, jika Anda ingin menentukan jam dalam pola, tentukan bentuk yang lebih luas, "HH", alih-alih bentuk yang lebih sempit, "H".
Catatan
Daripada mengharuskan format yang sesuai dengan satu format agar operasi penguraian berhasil, Anda dapat memanggil DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) metode dan menentukan beberapa format yang s
diizinkan. Hal ini membuat operasi penguraian lebih mungkin berhasil.
Simbol dan string tanggal dan waktu tertentu (seperti nama hari dalam seminggu dalam bahasa tertentu) yang digunakan di s
didefinisikan oleh provider
parameter , seperti format s
yang tepat jika format
adalah string penentu format standar. Parameter provider
dapat berupa salah satu hal berikut:
Objek CultureInfo yang mewakili budaya yang digunakan untuk menafsirkan
s
. Objek DateTimeFormatInfo yang dikembalikan oleh propertinya DateTimeFormat menentukan simbol dan pemformatan dis
.Objek DateTimeFormatInfo yang menentukan format data tanggal dan waktu.
Implementasi kustom IFormatProvider yang metodenya GetFormat mengembalikan CultureInfo objek atau DateTimeFormatInfo objek yang menyediakan informasi pemformatan.
Jika provider
adalah null
, CultureInfo objek yang sesuai dengan budaya saat ini digunakan.
Parameter styles
mencakup satu atau beberapa DateTimeStyles anggota enumerasi yang menentukan apakah dan di mana ruang kosong tidak ditentukan oleh format
dapat muncul di s
dan yang mengontrol perilaku tepat operasi penguraian. Tabel berikut menjelaskan bagaimana setiap anggota DateTimeStyles enumerasi memengaruhi pengoperasian TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) metode.
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 mengurai string, memanggil ToUniversalTime untuk mengonversi nilai yang DateTime dikembalikan 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 DateTime dikembalikan, dan mengatur Kind properti ke DateTimeKind.Utc. Dalam semua kasus lain, bendera tidak berpengaruh. |
AllowInnerWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul antara elemen tanggal atau waktu individual. |
AllowLeadingWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul di awal s . |
AllowTrailingWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul di akhir s . |
AllowWhiteSpaces | Menentukan yang s mungkin berisi spasi putih di depan, dalam, dan belakang yang tidak ditentukan oleh format . |
AssumeLocal | Menentukan bahwa jika s tidak memiliki informasi zona waktu apa pun, diasumsikan mewakili waktu lokal. Kecuali bendera DateTimeStyles.AdjustToUniversal ada, Kind properti nilai yang dikembalikan DateTime diatur ke DateTimeKind.Local. |
AssumeUniversal | Menentukan bahwa jika s tidak memiliki informasi zona waktu, diasumsikan untuk mewakili UTC. Kecuali bendera DateTimeStyles.AdjustToUniversal ada, metode mengonversi nilai yang dikembalikan DateTime dari UTC ke waktu lokal dan mengatur propertinya Kind ke DateTimeKind.Local. |
NoCurrentDateDefault | Jika s berisi waktu tanpa informasi tanggal, tanggal nilai pengembalian diatur ke DateTime.MinValue.Date . |
None | Parameter s diurai menggunakan nilai default. Tidak ada spasi kosong selain yang ada di format diperbolehkan. Jika s tidak memiliki komponen tanggal, tanggal nilai yang dikembalikan DateTime diatur ke 1/1/0001. Jika s tidak berisi informasi zona waktu, Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Unspecified. Jika informasi zona waktu ada di , waktu dikonversi s ke waktu lokal dan Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Local. |
RoundtripKind | Untuk string yang berisi informasi zona waktu, coba cegah konversi ke DateTime nilai dengan propertinya Kind diatur ke DateTimeKind.Local. Bendera ini terutama mencegah konversi waktu UTC ke waktu lokal. |
Catatan Bagi Pemanggil
Dalam .NET Framework 4, TryParseExact metode mengembalikan false
jika string yang akan diurai berisi komponen satu jam dan penunjuk AM/PM yang tidak bersepakat. Dalam .NET Framework 3.5 dan versi yang lebih lama, penunjuk AM/PM diabaikan.
Lihat juga
- ParseExact
- CultureInfo
- DateTimeFormatInfo
- Mengurai String Tanggal dan Waktu di .NET Framework
- String format tanggal dan waktu kustom
- String Format Tanggal dan Waktu Kustom
Berlaku untuk
TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara menggunakan array format yang ditentukan, informasi format khusus budaya, dan gaya. Format representasi string harus sama persis dengan setidaknya salah satu format yang ditentukan. Metode mengembalikan nilai yang menunjukkan apakah konversi berhasil.
public:
static bool TryParseExact(System::String ^ s, cli::array <System::String ^> ^ formats, IFormatProvider ^ provider, System::Globalization::DateTimeStyles style, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParseExact (string s, string[] formats, IFormatProvider provider, System.Globalization.DateTimeStyles style, out DateTime result);
public static bool TryParseExact (string? s, string?[]? formats, IFormatProvider? provider, System.Globalization.DateTimeStyles style, out DateTime result);
static member TryParseExact : string * string[] * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParseExact (s As String, formats As String(), provider As IFormatProvider, style As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- String
String yang berisi tanggal dan waktu untuk dikonversi.
- formats
- String[]
Array format yang diizinkan dari s
.
- provider
- IFormatProvider
Objek yang memasok informasi format khusus budaya tentang s
.
- style
- DateTimeStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan format yang diizinkan dari s
. Nilai umum yang ditentukan adalah None.
- result
- DateTime
Ketika metode ini kembali, berisi nilai yang DateTime setara dengan tanggal dan waktu yang terkandung dalam s
, jika konversi berhasil, atau DateTime.MinValue jika konversi gagal. Konversi gagal jika atau adalah , atau elemen dari formats
adalah string kosong, atau format s
tidak persis seperti yang ditentukan oleh setidaknya salah satu pola format di formats
. s
null
formats
s
Parameter ini diteruskan tanpa diinisialisasi.
Mengembalikan
true
s
jika parameter berhasil dikonversi; jika tidak, false
.
Pengecualian
styles
bukan nilai yang valid DateTimeStyles .
-atau-
styles
berisi kombinasi DateTimeStyles nilai yang tidak valid (misalnya, baik AssumeLocal dan AssumeUniversal).
Contoh
Contoh berikut menggunakan DateTime.TryParseExact(String, String, IFormatProvider, DateTimeStyles, DateTime) metode untuk memastikan bahwa string dalam sejumlah format yang mungkin dapat berhasil diurai .
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt",
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss",
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt",
"M/d/yyyy h:mm", "M/d/yyyy h:mm",
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};
string[] dateStrings = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM",
"5/1/2009 6:32:00", "05/01/2009 06:32",
"05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"};
DateTime dateValue;
foreach (string dateString in dateStrings)
{
if (DateTime.TryParseExact(dateString, formats,
new CultureInfo("en-US"),
DateTimeStyles.None,
out dateValue))
Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue);
else
Console.WriteLine("Unable to convert '{0}' to a date.", dateString);
}
}
}
// The example displays the following output:
// Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
// Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
// Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
// Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
// Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
// Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.
open System
open System.Globalization
let formats=
[| "M/d/yyyy h:mm:ss tt"; "M/d/yyyy h:mm tt"
"MM/dd/yyyy hh:mm:ss"; "M/d/yyyy h:mm:ss"
"M/d/yyyy hh:mm tt"; "M/d/yyyy hh tt"
"M/d/yyyy h:mm"; "M/d/yyyy h:mm"
"MM/dd/yyyy hh:mm"; "M/dd/yyyy hh:mm" |]
let dateStrings =
[ "5/1/2009 6:32 PM"; "05/01/2009 6:32:05 PM"
"5/1/2009 6:32:00"; "05/01/2009 06:32"
"05/01/2009 06:32:00 PM"; "05/01/2009 06:32:00" ]
for dateString in dateStrings do
match DateTime.TryParseExact(dateString, formats, CultureInfo "en-US", DateTimeStyles.None) with
| true, dateValue ->
printfn $"Converted '{dateString}' to {dateValue}."
| _ ->
printfn $"Unable to convert '{dateString}' to a date."
// The example displays the following output:
// Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
// Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
// Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
// Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
// Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
// Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim formats() As String = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", _
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", _
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", _
"M/d/yyyy h:mm", "M/d/yyyy h:mm", _
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"}
Dim dateStrings() As String = {"5/1/2009 6:32 PM", "05/01/2009 6:32:05 PM", _
"5/1/2009 6:32:00", "05/01/2009 06:32", _
"05/01/2009 06:32:00 PM", "05/01/2009 06:32:00"}
Dim dateValue As DateTime
For Each dateString As String In dateStrings
If Date.TryParseExact(dateString, formats, _
New CultureInfo("en-US"), _
DateTimeStyles.None, _
dateValue) Then
Console.WriteLine("Converted '{0}' to {1}.", dateString, dateValue)
Else
Console.WriteLine("Unable to convert '{0}' to a date.", dateString)
End If
Next
End Sub
End Module
' The example displays the following output:
' Converted '5/1/2009 6:32 PM' to 5/1/2009 6:32:00 PM.
' Converted '05/01/2009 6:32:05 PM' to 5/1/2009 6:32:05 PM.
' Converted '5/1/2009 6:32:00' to 5/1/2009 6:32:00 AM.
' Converted '05/01/2009 06:32' to 5/1/2009 6:32:00 AM.
' Converted '05/01/2009 06:32:00 PM' to 5/1/2009 6:32:00 PM.
' Converted '05/01/2009 06:32:00' to 5/1/2009 6:32:00 AM.
Keterangan
Metode ini DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) menguraikan representasi string dari tanggal yang cocok dengan salah satu pola yang ditetapkan ke formats
parameter . Ini seperti DateTime.ParseExact(String, String[], IFormatProvider, DateTimeStyles) metode , kecuali TryParseExact metode tidak melemparkan pengecualian jika konversi gagal.
Parameter s
berisi tanggal dan waktu untuk mengurai.
s
Jika parameter hanya berisi waktu dan tanpa tanggal, tanggal saat ini digunakan kecuali style
parameter menyertakan DateTimeStyles.NoCurrentDateDefault bendera, dalam hal ini tanggal default (DateTime.Date.MinValue
) digunakan.
s
Jika parameter hanya berisi tanggal dan tanpa waktu, tengah malam (00:00:00) digunakan. Parameter style
juga menentukan apakah s
parameter dapat berisi karakter spasi putih di depan, dalam, atau di belakang selain yang diizinkan oleh salah satu string format di formats
.
Jika s
tidak berisi informasi zona waktu, Kind properti objek yang dikembalikan DateTime adalah DateTimeKind.Unspecified. Perilaku ini dapat diubah dengan menggunakan DateTimeStyles.AssumeLocal bendera , yang mengembalikan DateTime nilai yang propertinya Kind adalah DateTimeKind.Local, atau dengan menggunakan DateTimeStyles.AssumeUniversal bendera dan DateTimeStyles.AdjustToUniversal , yang mengembalikan DateTime nilai yang propertinya Kind adalah DateTimeKind.Utc. Jika s berisi informasi zona waktu, waktu dikonversi ke waktu lokal, jika perlu, dan Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Local. Perilaku ini dapat diubah dengan menggunakan DateTimeStyles.RoundtripKind bendera untuk tidak mengonversi Waktu Universal Terkoordinasi (UTC) ke waktu setempat dan mengatur Kind properti ke DateTimeKind.Utc.
Parameter formats
berisi array pola, salah satunya s
harus cocok persis jika operasi penguraian berhasil. Pola dalam formats
parameter terdiri dari satu atau beberapa penentu format kustom dari tabel String Format Tanggal dan Waktu Kustom , atau penentu format standar tunggal, yang mengidentifikasi pola yang telah ditentukan sebelumnya, dari tabel String Format Tanggal dan Waktu Standar .
Jika Anda tidak menggunakan pemisah tanggal atau waktu dalam pola format kustom, gunakan budaya invarian untuk provider
parameter dan bentuk terluas dari setiap penentu format kustom. Misalnya, jika Anda ingin menentukan jam dalam pola, tentukan bentuk yang lebih luas, "HH", alih-alih bentuk yang lebih sempit, "H".
Simbol dan string tanggal dan waktu tertentu (seperti nama hari dalam seminggu dalam bahasa tertentu) yang digunakan didefinisikan s
oleh provider
parameter , seperti format s
yang tepat jika format
adalah string penentu format standar. Parameter provider
dapat berupa salah satu hal berikut:
Objek CultureInfo yang mewakili budaya yang digunakan untuk menafsirkan
s
. Objek DateTimeFormatInfo yang dikembalikan oleh propertinya DateTimeFormat menentukan simbol dan pemformatan dis
.Objek DateTimeFormatInfo yang menentukan format data tanggal dan waktu.
Implementasi kustom IFormatProvider yang metodenya GetFormat mengembalikan CultureInfo objek atau DateTimeFormatInfo objek yang menyediakan informasi pemformatan.
Jika provider
adalah null
, CultureInfo objek yang sesuai dengan budaya saat ini digunakan.
Parameter styles
mencakup satu atau beberapa DateTimeStyles anggota enumerasi yang menentukan apakah dan di mana ruang putih yang tidak ditentukan oleh format
dapat muncul di s
dan yang mengontrol perilaku yang tepat dari operasi penguraian. Tabel berikut menjelaskan bagaimana setiap anggota DateTimeStyles enumerasi memengaruhi pengoperasian TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime) metode.
Anggota DateTimeStyles | Deskripsi |
---|---|
AdjustToUniversal | Mengurai s dan, jika perlu, mengonversinya menjadi UTC. Jika s menyertakan offset zona waktu, atau jika s tidak berisi informasi zona waktu tetapi styles menyertakan DateTimeStyles.AssumeLocal bendera, metode mengurai 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 DateTime dikembalikan, dan mengatur Kind properti ke DateTimeKind.Utc. Dalam semua kasus lain, bendera tidak berpengaruh. |
AllowInnerWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul antara elemen tanggal atau waktu individual. |
AllowLeadingWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul di awal s . |
AllowTrailingWhite | Menentukan bahwa spasi kosong yang tidak ditentukan oleh format dapat muncul di akhir s . |
AllowWhiteSpaces | Menentukan yang s mungkin berisi spasi putih di depan, dalam, dan di belakang yang tidak ditentukan oleh format . |
AssumeLocal | Menentukan bahwa jika s tidak memiliki informasi zona waktu apa pun, diasumsikan mewakili waktu lokal. Kecuali bendera DateTimeStyles.AdjustToUniversal ada, Kind properti nilai yang dikembalikan DateTime diatur ke DateTimeKind.Local. |
AssumeUniversal | Menentukan bahwa jika s tidak memiliki informasi zona waktu, diasumsikan untuk mewakili UTC. Kecuali bendera DateTimeStyles.AdjustToUniversal ada, metode mengonversi nilai yang dikembalikan DateTime dari UTC ke waktu lokal dan mengatur propertinya Kind ke DateTimeKind.Local. |
NoCurrentDateDefault | Jika s berisi waktu tanpa informasi tanggal, tanggal nilai pengembalian diatur ke DateTime.MinValue.Date . |
None | Parameter s diurai menggunakan nilai default. Tidak ada spasi kosong selain yang ada di format diperbolehkan. Jika s tidak memiliki komponen tanggal, tanggal nilai yang dikembalikan DateTime diatur ke 1/1/0001. Jika s tidak berisi informasi zona waktu, Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Unspecified. Jika informasi zona waktu ada di , waktu dikonversi s ke waktu lokal dan Kind properti objek yang dikembalikan DateTime diatur ke DateTimeKind.Local. |
RoundtripKind | Untuk string yang berisi informasi zona waktu, coba cegah konversi ke DateTime nilai dengan propertinya Kind diatur ke DateTimeKind.Local. Bendera ini terutama mencegah konversi waktu UTC ke waktu lokal. |
Catatan Bagi Pemanggil
Dalam .NET Framework 4, TryParseExact metode mengembalikan false
jika string yang akan diurai berisi komponen jam dan penunjuk AM/PM yang tidak dalam perjanjian. Dalam .NET Framework 3.5 dan versi yang lebih lama, penunjuk AM/PM diabaikan.
Lihat juga
- ParseExact
- CultureInfo
- DateTimeFormatInfo
- Mengurai String Tanggal dan Waktu di .NET Framework
- String format tanggal dan waktu kustom
- String Format Tanggal dan Waktu Kustom
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk