Tidak dapat mengonversi string menjadi datetime

pemrograman


Halo
saya ingin mengonversi string str ke DateTime,str=”2024/22/03″
SYSTEMFORMAT komputer saya adalah m/d/yyyy
saya ingin Tanggal_1 dalam format yyyy/MM/dd
Tanggal_1 = Konversi.ToDateTime(str, “yyyy/MM/dd”);

Apa yang saya coba:

str = "2024/12/03"; 
Date_1 = Convert.ToDateTime(str, "yyyy/MM/dd");

Solusi 1

Metode DateTime.ParseExact (Sistem) | Microsoft Belajar[^] akan melakukan apa yang Anda inginkan:

C#
string str = "2024/22/03";

// Parse the string into a DateTime object with the specified format
DateTime dateTime = DateTime.ParseExact(str, "yyyy/dd/MM", null);

// Format the DateTime object into the desired format
string formattedDate = dateTime.ToString("yyyy/MM/dd");

Console.WriteLine("Original string: " + str);
Console.WriteLine("Formatted date: " + formattedDate);

dan hasilnya:

Original string: 2024/22/03
Formatted date: 2024/03/22

Solusi 2

Untuk menambah apa yang dikatakan Graeme, solusi yang lebih baik adalah dengan menggunakan Metode DateTime.TryParseExact (Sistem) | Microsoft Belajar[^] sebagai gantinya – dengan cara itu Anda dapat menemukan kesalahan dan bukannya aplikasi Anda mogok jika data tidak dalam format yang Anda harapkan karena alasan tertentu:

C#
DateTime dt;
if (!DateTime.TryParseExact(str, "yyyy/MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
   {
   ... report or log the problem
   return;
   }
... dt contains a valid date set at midnight here

コメント

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