Menukar Format DateTime kepada Format SQL dalam C#
Memformat pembolehubah C# DateTime agar sepadan dengan format tarikh SQL Server yang dijangkakan ("yyyy-MM -dd HH:mm:ss") boleh mencabar. Berikut ialah penjelasan terperinci tentang kod anda dan penyelesaian yang berfungsi:
Kod Asal:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Isu dengan kod ini ialah myDateTime.Date hanya mengandungi tarikh bahagian, manakala myDateTime juga termasuk masa. Untuk mendapatkan rentetan dengan kedua-dua tarikh dan masa dalam format yang diingini, anda perlu menggunakan myDateTime terus.
Kod Semakan dengan Rentetan Bercantum:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " + myDateTime.TimeOfDay.ToString("HH:mm:ss");
Ini kod membahagikan objek DateTime kepada komponen tarikh dan masanya dan menggabungkannya menjadi rentetan. Walau bagaimanapun, versi ini akan gagal dengan ralat masa kompilasi kerana myDateTime.TimeOfDay adalah jenis TimeSpan dan tidak mempunyai kaedah ToString yang mengambil rentetan format.
Untuk membetulkannya, anda boleh menggunakan ToString() kaedah DateTime secara langsung dan bukannya memisahkan komponen tarikh dan masa:
Betul Penyelesaian:
DateTime myDateTime = DateTime.Now; string sqlFormattedDate = myDateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Rentetan format ToString("yyyy-MM-dd HH:mm:ss.fff") menentukan format tarikh Pelayan SQL yang dikehendaki, termasuk ketepatan milisaat. Kod ini harus menghasilkan rentetan yang diformat dengan betul tanpa sebarang ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menukar C# DateTime dengan betul kepada Format 'yyyy-MM-dd HH:mm:ss' SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!