[ad_1]
مرحبًا
أريد تحويل السلسلة str إلى DateTime,str=”2024/22/03″
تنسيق النظام لجهاز الكمبيوتر الخاص بي هو m/d/yyyy
أريد Date_1 بالتنسيق yyyy/MM/dd
Date_1 = Convert.ToDateTime(str, “yyyy/MM/dd”);
ما حاولت:
str = "2024/12/03"; Date_1 = Convert.ToDateTime(str, "yyyy/MM/dd");
الحل 1
طريقة DateTime.ParseExact (النظام) | مايكروسوفت تعلم[^] سوف تفعل ما تريد:
ج#
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);
والإخراج:
Original string: 2024/22/03 Formatted date: 2024/03/22
الحل 2
إضافة إلى ما قاله جرايم، الحل الأفضل هو الاستخدام طريقة DateTime.TryParseExact (النظام) | مايكروسوفت تعلم[^] بدلاً من ذلك – بهذه الطريقة يمكنك اكتشاف الأخطاء بدلاً من تعطل تطبيقك إذا لم تكن البيانات بالتنسيق الذي تتوقعه لسبب ما:
ج#
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
[ad_2]
コメント