Validasi format tanggal pada datatable menggunakan LINQ

pemrograman


Hai, konversi data dari excel ke datatable sekarang saya ingin memvalidasi format tanggal dari datatable menggunakan LINQ pada datatable,

Data saya

Tanggal id baris
1 22-07-2024
2 23-09-2024
3 23-09-2024
4 12334-09-23

seperti yang terlihat di atas 2 baris terakhir di datable tidak dalam format “dd-mm-yyyy” yang valid, saya ingin memeriksa apakah kolom tanggal datable berisi format tanggal yang valid

Apa yang saya coba:

Saya mencoba banyak hal tetapi tidak berhasil

Solusi 1

Kemungkinan besar, Anda tidak bisa.

Mulailah dengan memeriksa sumber excel: kecuali tanggal berada di kolom yang dikenali Excel sebagai tanggal (yaitu dapat diformat di Excel) maka tanggal tersebut adalah string dan dapat berisi apa saja termasuk tanggal valid, tanggal tidak valid, format tanggal salah (mm/dd/ yy bukannya dd/mm/yy misalnya), dan bahkan teks “Halo dunia”. Jika itu sebuah string, tidak ada banyak hal berguna yang dapat Anda lakukan dengannya: Anda tidak dapat mengandalkan apa pun sebagai “nilai asli”.

Misalnya 01/02/03 tanggal berapa? 1 Februari 2003? 2 Januari 2003? 3 Februari 2001? Semua itu adalah penafsiran sahih yang umum digunakan, dan itu tergantung pada orang yang memasukkannya pada tanggal berapa yang diharapkannya.

Setelah data masuk ke Excel atau database, data tersebut tidak memiliki “konteks asal” sehingga Anda tidak dapat menentukan tanggal yang dimaksudkan – sudah terlambat untuk memvalidasi tanggal pada tahap tersebut, dan permintaan yang Anda buat menyiratkan bahwa data tersebut memerlukan validasi karena Anda sudah mengetahuinya ada “data buruk” di sana. Tidak ada yang bisa memperbaikinya kecuali tanggalnya setara dengan “Halo dunia” – tanggal yang tidak valid bisa saja berupa tanggal dalam format yang berbeda dari yang Anda harapkan, atau berisi nama bulan, bukan angka (dan untuk menambah kesenangan, dalam bahasa asli OP daripada bahasa Inggris…)

コメント

タイトルとURLをコピーしました