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

Bagaimana untuk Menukar Rentetan 'yyyyMMddHHmmss' kepada Objek DateTime dalam C#?

Patricia Arquette
Patricia Arquetteasal
2024-12-30 06:46:101014semak imbas

How to Convert a

Tukar String kepada DateTime dalam C#

Menukar tarikh rentetan kepada objek DateTime dalam C# boleh menjadi tugas yang mencabar, terutamanya apabila berurusan dengan format bukan standard. Salah satu format sedemikian ialah "yyyyMMddHHmmss", yang mewakili tarikh tanpa pemisah.

Masalah:

Pertimbangkan tarikh rentetan berikut:

20090530123001

Rentetan ini dibuat menggunakan dateTime.ToString("yyyyMMddHHmmss", CultureInfo.InvariantCulture). Bagaimanakah kita boleh menukarnya semula menjadi objek DateTime yang betul?

Penyelesaian:

Pendekatan paling mudah ialah menggunakan kaedah DateTime.ParseExact. Kaedah ini mengambil tiga parameter:

  • Rentetan yang hendak ditukar
  • Format rentetan
  • Maklumat budaya (pilihan)

Untuk rentetan yang diberikan, kita boleh menggunakan kod berikut:

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

Ini akan berjaya menukar rentetan menjadi objek DateTime.

Mengendalikan Format Tidak Sah:

Walau bagaimanapun, jika rentetan mungkin tidak sentiasa berada dalam format yang betul, menggunakan ParseExact boleh menghasilkan FormatException. Untuk mengelakkan ini, anda boleh menggunakan kaedah DateTime.TryParseExact sebaliknya. Kaedah ini mengambil parameter yang sama seperti ParseExact tetapi mengembalikan nilai boolean yang menunjukkan sama ada penukaran berjaya.

Kod berikut menunjukkan cara menggunakan TryParseExact:

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

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan 'yyyyMMddHHmmss' 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