Dalam C#, perwakilan rentetan tarikh dan masa boleh ditukar kepada objek DateTime yang setara menggunakan beberapa kaedah parse yang disediakan oleh DateTime struct. Kaedah ini memerlukan perwakilan rentetan tarikh untuk ditukar dan bersama-sama ini, kami juga boleh menentukan maklumat format khusus budaya.
Diberikan di bawah adalah kaedahnya:
Diberikan di bawah ialah sintaks untuk setiap kaedah penghuraian ini:
public static DateTimeParse(string str);
Di sini, kaedah Parse() mengambil hujah rentetan, yang mewakili tarikh dan masa untuk menukar. Ia mengembalikan objek DateTime, bersamaan dengan tarikh dan masa yang diwakili oleh str.
public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);
Di sini, tiga argumen dihantar kepada kaedah di mana str ialah perwakilan rentetan tarikh dan masa untuk ditukar, format menentukan format str yang diperlukan dan formatProvider menyediakan maklumat format khusus budaya untuk str. Ia mengembalikan objek DateTime, bersamaan dengan tarikh dan masa yang diwakili oleh str.
public static bool TryParse(string str, out DateTimeresult);
Di sini, str mewakili tarikh dan masa untuk menukar, dan nilai yang terhasil akan disimpan dalam hasil pembolehubah. Kaedah ini akan kembali benar jika penukaran berjaya. Jika tidak, ia akan kembali palsu.
public static bool TryParseExact(string str, string[] strFormats, IFormatProviderformatProvider, DateTimeStylesstyle, out DateTimeresult);
Kaedah ini akan kembali benar jika penukaran berjaya. Jika tidak, ia akan kembali palsu.
Beberapa kaedah tersedia untuk menukar rentetan kepada tarikh dalam C#. Rentetan yang hendak ditukar mestilah perwakilan tarikh dan masa yang sah, dan tidak boleh kosong atau kosong. Apabila penukaran berjaya, kaedah ini mengembalikan objek DateTime.
Kaedah yang digunakan untuk menghuraikan rentetan sehingga kini adalah seperti berikut:
Tiga kaedah di atas ialah bentuk terlebih beban bagi kaedah Parse(). Kesemuanya mengembalikan objek System.DateTime pada penukaran yang berjaya.
Contoh:
CultureInfo provider = newCultureInfo("en-US"); DateTime date = DateTime.Parse("08/08/2020", provider, DateTimeStyles.AdjustToUniversal);
Dalam pernyataan di atas, kami mula-mula mencipta objek kelas CultureInfo, yang melaksanakan IFormatProvider. Sekarang, kaedah ini akan menukar rentetan input kepada objek DateTime yang setara menggunakan maklumat format khusus budaya yang disediakan dan dengan menggunakan nilai DateTimeStyles yang diberikan. Apabila penukaran berjaya, objek DateTime yang terhasil akan disimpan dalam ‘tarikh’ pembolehubah.
Tiga kaedah di atas ialah bentuk terlebih beban bagi kaedah ParseExact(). Kesemuanya mengembalikan objek System.DateTime pada penukaran yang berjaya.
Contoh:
string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy", "MM/dd/yyyyHH:mm:ss"}; CultureInfo provider = newCultureInfo("en-US"); DateTime date = DateTime.ParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal);
Perwakilan rentetan tarikh yang dihantar kepada kaedah ini sepatutnya sepadan dengan mana-mana format yang ditentukan yang terkandung dalam tatasusunan rentetan.
Jenis parameter dalam kaedah ini adalah sama seperti yang kita lihat sebelum ini. Kaedah ini menukar rentetan input kepada objek DateTime yang setara menggunakan maklumat format khusus budaya dan gaya yang dihantar kepadanya, dan ia kembali benar jika penukaran berjaya; jika tidak, ia kembali palsu. Nilai DateTime yang terhasil akan disimpan dalam parameter 'keluar' kaedah ini.
Kaedah ini menukar rentetan input sehingga kini menggunakan maklumat format dan gaya khusus budaya yang disediakan. Kaedah ini mengembalikan benar pada penukaran yang berjaya; jika tidak, ia kembali palsu.
Di bawah ialah contoh.
Kod:
using System; usingSystem.Globalization; publicclassProgram { publicstaticvoidMain() { DateTime date; string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy", "MM/dd/yyyyHH:mm:ss"}; CultureInfo provider = newCultureInfo("en-US"); try { //Parse() date = DateTime.Parse("08/08/2020"); Console.WriteLine("\nParse() method: " + date); //ParseExact() date = DateTime.ParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal); Console.WriteLine("\nParseExact() method: " + date); } catch (Exception ex) { Console.Write(ex.Message); Console.ReadLine(); } //TryParse() if (DateTime.TryParse("08/08/2020", out date)) { Console.WriteLine("\nTryParse() : " + date); } else { Console.WriteLine("Conversion failed"); } //TryParseExact() if (DateTime.TryParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal, out date)) { Console.WriteLine("\nTryParseExact() : " + date); } else { Console.WriteLine("Conversion failed"); } Console.ReadLine(); } }
Output:
Dalam C#, rentetan boleh ditukar kepada objek DateTime menggunakan kaedah penghuraian yang disediakan oleh struct DateTime. Selain daripada kaedah ini, kita boleh menukar rentetan kepada tarikh menggunakan Convert. Kepada kaedah DateTime() yang mengambil perwakilan rentetan tarikh sebagai input dan mengembalikan objek DateTime yang setara.
Atas ialah kandungan terperinci Rentetan ke Tarikh C#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!