DateTime.TryParse 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 ke DateTime yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
Overload
TryParse(ReadOnlySpan<Char>, DateTime) |
Mengonversi rentang karakter yang ditentukan dari tanggal dan waktu ke DateTime yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParse(String, DateTime) |
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime) |
Mencoba mengurai rentang karakter menjadi nilai. |
TryParse(String, IFormatProvider, DateTime) |
Mencoba mengurai string ke dalam nilai. |
TryParse(String, IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara menggunakan informasi format khusus budaya dan gaya pemformatan yang ditentukan, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
Mengonversi representasi rentang tanggal dan waktu ke DateTime yang setara menggunakan informasi format dan gaya pemformatan khusus budaya yang ditentukan, dan 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.
TryParse(ReadOnlySpan<Char>, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi rentang karakter yang ditentukan dari tanggal dan waktu ke DateTime yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
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
Parameter
- s
- ReadOnlySpan<Char>
String yang berisi tanggal dan waktu untuk dikonversi.
- 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 s
parameter adalah null
, adalah string kosong (""), 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
TryParse(String, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi representasi string yang ditentukan dari tanggal dan waktu ke DateTime yang setara dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
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
Parameter
- s
- String
String yang berisi tanggal dan waktu untuk dikonversi.
- 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 s
parameter adalah null
, adalah string kosong (""), 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
.
Contoh
Contoh berikut meneruskan sejumlah string tanggal dan waktu ke DateTime.TryParse(String, DateTime) metode .
using namespace System;
using namespace System::Globalization;
void main()
{
array<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 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);
for each (String^ dateString in dateStrings)
{
if (DateTime::TryParse(dateString, dateValue))
Console::WriteLine(" Converted '{0}' to {1} ({2}).", dateString,
dateValue, dateValue.Kind);
else
Console::WriteLine(" Unable to parse '{0}'.", dateString);
}
}
// The example displays the following output:
// 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 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).
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).
Keterangan
Metode DateTime.TryParse(String, DateTime) ini mirip DateTime.Parse(String) dengan metode , kecuali bahwa TryParse(String, DateTime) metode tidak memberikan pengecualian jika konversi gagal.
String s
diurai menggunakan informasi pemformatan dalam objek saat ini DateTimeFormatInfo , yang disediakan secara implisit oleh budaya saat ini.
Metode ini mencoba mengabaikan data yang tidak dikenal, jika memungkinkan, dan mengisi informasi bulan, hari, dan tahun yang hilang dengan tanggal saat ini. Jika s
hanya berisi tanggal dan tanpa waktu, metode ini mengasumsikan waktunya adalah 12:00 tengah malam. Jika s
menyertakan komponen tanggal dengan tahun dua digit, komponen tersebut dikonversi menjadi satu tahun di kalender budaya saat ini berdasarkan nilai Calendar.TwoDigitYearMax properti . Karakter spasi s
putih di awal, dalam, atau di belakang diabaikan. Tanggal dan waktu dapat dikurung dengan sepasang karakter TANDA ANGKA di depan dan di belakang ('#', U+0023), dan dapat dibuntuti dengan satu atau beberapa karakter NULL (U+0000).
DateTime.TryParse(String, DateTime) Karena metode mencoba mengurai representasi string tanggal dan waktu menggunakan aturan pemformatan budaya saat ini, mencoba mengurai string tertentu di berbagai budaya dapat gagal atau mengembalikan hasil yang berbeda. Jika format tanggal dan waktu tertentu akan diurai di berbagai lokal, gunakan DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metode atau salah satu kelebihan beban TryParseExact metode dan berikan penentu format.
Jika s
merupakan representasi string dari hari lompatan dalam tahun kampung di kalender saat ini, metode berhasil diurai s
. Jika s
merupakan representasi string dari hari lompatan dalam tahun non-lompatan di kalender budaya saat ini, operasi penguraian gagal dan metode mengembalikan false
.
Jika s
tidak berisi informasi zona waktu, result
berisi DateTime nilai yang propertinya Kind adalah DateTimeKind.Unspecified saat metode kembali. Jika string yang akan diurai berisi informasi zona waktu, result
berisi DateTime nilai yang propertinya Kind adalah DateTimeKind.Local saat metode kembali.
Catatan Bagi Pemanggil
Pemformatan dipengaruhi oleh properti objek saat ini DateTimeFormatInfo , yang secara default berasal dari item Opsi Regional dan Bahasa di Panel Kontrol. Metode TryParse ini secara tak terduga dapat gagal dan mengembalikan False
jika properti dan TimeSeparator saat ini DateSeparator diatur ke nilai yang sama.
Lihat juga
- Parse
- CultureInfo
- DateTimeFormatInfo
- Mengurai String Tanggal dan Waktu dalam .NET Framework
- String format tanggal dan waktu kustom
- String Format Tanggal dan Waktu Kustom
- Sampel: Utilitas Pemformatan .NET Core WinForms (C#)
- Sampel: Utilitas Pemformatan .NET Core WinForms (Visual Basic)
Berlaku untuk
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mencoba mengurai rentang karakter menjadi nilai.
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
Parameter
- s
- ReadOnlySpan<Char>
Rentang karakter yang akan diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s
.
- result
- DateTime
Ketika metode ini kembali, berisi hasil dari penguraian yang berhasil s
, atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika s
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(String, IFormatProvider, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mencoba mengurai string ke dalam nilai.
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
Parameter
- s
- String
String yang akan diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s
.
- result
- DateTime
Ketika metode ini kembali, berisi hasil dari penguraian yang berhasil s
atau nilai yang tidak terdefinisi pada kegagalan.
Mengembalikan
true
jika s
berhasil diurai; jika tidak, false
.
Berlaku untuk
TryParse(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 informasi format khusus budaya dan gaya pemformatan yang ditentukan, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
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
Parameter
- s
- String
String yang berisi tanggal dan waktu untuk dikonversi.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
.
- styles
- 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 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 s
parameter adalah null
, adalah string kosong (""), 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
.
Pengecualian
styles
bukan nilai yang valid DateTimeStyles .
-atau-
styles
berisi kombinasi DateTimeStyles nilai yang tidak valid (misalnya, baik AssumeLocal dan AssumeUniversal).
provider
adalah budaya netral dan tidak dapat digunakan dalam operasi penguraian.
Contoh
Contoh berikut mengilustrasikan DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) metode .
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.
Keterangan
Untuk informasi selengkapnya tentang API ini, lihat Keterangan API Tambahan untuk DateTime.TryParse.
Catatan Bagi Pemanggil
Pemformatan dipengaruhi oleh properti objek saat ini DateTimeFormatInfo , yang disediakan oleh provider
parameter . Metode TryParse ini secara tak terduga dapat gagal dan mengembalikan False
jika properti dan TimeSeparator saat ini DateSeparator diatur ke nilai yang sama.
Lihat juga
- Parse
- CultureInfo
- DateTimeFormatInfo
- Mengurai String Tanggal dan Waktu dalam .NET Framework
- String format tanggal dan waktu kustom
- String Format Tanggal dan Waktu Kustom
Berlaku untuk
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
- Sumber:
- DateTime.cs
Mengonversi representasi rentang tanggal dan waktu ke DateTime yang setara menggunakan informasi format dan gaya pemformatan khusus budaya yang ditentukan, dan mengembalikan nilai yang menunjukkan apakah konversi berhasil.
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
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili tanggal dan waktu untuk dikonversi.
- provider
- IFormatProvider
Objek yang memasok informasi pemformatan khusus budaya tentang s
.
- styles
- 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 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 s
parameter adalah null
, adalah string kosong (""), 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
.