Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyelesaikan Ralat 'String tidak diiktiraf sebagai DateTime yang sah'?

Bagaimana untuk Menyelesaikan Ralat 'String tidak diiktiraf sebagai DateTime yang sah'?

Mary-Kate Olsen
Lepaskan: 2025-01-27 00:36:08
asal
828 orang telah melayarinya

How to Solve the

dengan cerdik menyelesaikan "rentetan tidak diiktiraf sebagai masa tarikh yang sah" Ralat: Pemformatan masa tarikh

Apabila menukar rentetan ke objek DateTime, menyatakan format yang betul adalah sangat penting, jika tidak, ia terdedah kepada "rentetan tidak diiktiraf sebagai ralat masa tarikh yang sah". Kesalahan ini biasanya disebabkan oleh format rentetan yang tidak sepadan dengan format yang diharapkan.

contohnya:

Kod ini cuba menukar rentetan ke objek DateTime dengan format lalai, tetapi rentetan mengikuti format "DD/MM/YYYY". Untuk menyelesaikan masalah ini, sila gunakan kaedah DateTime.ParSexact ():

<code class="language-csharp">this.Text="22/11/2009";
DateTime date = DateTime.Parse(this.Text);</code>
Salin selepas log masuk

dengan menentukan format dalam parameter kedua, ParSeeExact () dapat memastikan analisis yang betul dari rentetan.

<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
Salin selepas log masuk
iforMatProvider dan penggunaannya

Parameter IFORMATProvider membolehkan penggunaan pembekal format tersuai untuk menampung tetapan serantau lalai. Walau bagaimanapun, dalam contoh ini, kerana format yang dijangkakan telah dinyatakan dengan jelas dalam penukaran rentetan, tidak perlu menyesuaikan prosedur untuk format tersuai.

perbezaan antara parse dan parseeexact

Parse:

Cuba gunakan format lalai berdasarkan tetapan serantau semasa untuk menyelesaikan rentetan ke objek DateTime. Ia mungkin tidak cukup ketat, walaupun rentetan tidak sepadan dengan format yang diharapkan, ia mungkin berjaya dihuraikan.
  • ParseExact: Anda perlu menentukan format untuk memastikan penukaran yang lebih ketat. Jika rentetan tidak sepadan dengan format yang ditentukan, ia akan menyebabkan keabnormalan.
  • Prestasi dan Jenis Pertimbangan Keselamatan Kedua -dua kaedah dapat menyelesaikan masalah, tetapi parseeexact () biasanya lebih selamat dan lebih jelas. Ia jelas menyatakan format yang diharapkan.
Dari segi prestasi, kedua -dua kaedah adalah serupa. Dalam sesetengah kes, parse () mungkin sedikit lebih cepat, tetapi ini biasanya boleh diabaikan.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'String tidak diiktiraf sebagai DateTime yang sah'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan