Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar String kepada Objek DateTime dalam C#?

Bagaimana untuk Menukar String kepada Objek DateTime dalam C#?

Patricia Arquette
Patricia Arquetteasal
2024-12-29 08:08:09849semak imbas

How to Convert a String to a DateTime Object in C#?

Tukar String kepada DateTime dalam C#

Dalam C#, terdapat pelbagai cara untuk menukar perwakilan rentetan tarikh dan masa kepada DateTime objek. Satu senario biasa melibatkan penukaran rentetan yang diformatkan sebagai "yyyyMMddHHmmss" kepada objek DateTime. Format ini sering ditemui apabila berurusan dengan tarikh dan masa yang disimpan dalam pangkalan data atau format berasaskan teks lain.

Menggunakan DateTime.ToString()

Untuk menukar rentetan dalam format "yyyyMMddHHmmss" kepada objek DateTime, anda boleh menggunakan kaedah DateTime.ToString(). Berikut ialah contoh:

string strDate = "20090530123001";
DateTime dateTime = DateTime.ParseExact(strDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);

Dalam kod ini, kaedah ParseExact mengambil rentetan untuk ditukar, rentetan format yang diingini dan maklumat budaya untuk mengendalikan penukaran tarikh dan masa. InvariantCulture digunakan untuk memastikan penukaran adalah bebas budaya.

Menggunakan Convert.ToDateTime()

Sebagai alternatif, anda boleh menggunakan kaedah Convert.ToDateTime() untuk menukar rentetan kepada objek DateTime. Walau bagaimanapun, kaedah ini memerlukan rentetan dalam format tertentu. Contohnya:

string strDate = "2009-05-30 12:30:01";
DateTime dateTime = Convert.ToDateTime(strDate);

Dalam kes ini, rentetan berada dalam format "yyyy-MM-dd HH:mm:ss", yang disokong oleh kaedah Convert.ToDateTime().

Mengendalikan Pengecualian Format

Jika rentetan input tidak dalam format yang dijangkakan, kedua-duanya DateTime.ParseExact() dan Convert.ToDateTime() akan membuang FormatException. Jika anda ingin menangkap pengecualian ini dengan anggun, anda boleh menggunakan kaedah TryParseExact() atau TryParse, masing-masing. Contohnya:

DateTime dateTime;
if (DateTime.TryParseExact(strDate, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime))
{
    // Conversion successful
}
else
{
    // Conversion failed
}

Kesimpulan

Menukar rentetan kepada objek DateTime ialah operasi biasa dalam C#. Dengan menggunakan kaedah penukaran yang sesuai dan pengecualian format pengendalian dengan betul, anda boleh memastikan pengendalian tarikh anda adalah tepat dan teguh.

Atas ialah kandungan terperinci Bagaimana untuk Menukar String kepada Objek DateTime dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn