عند محاولة تحويل تاريخ معين إلى تنسيق معين، قد يواجه مطورو Java الاستثناء: "java.lang.IllegalArgumentException: لا يمكن تنسيق الكائن المحدد كتاريخ." يحدث هذا الخطأ عند محاولة تنسيق كائن غير مدعوم كتاريخ.
لحل هذه المشكلة، نحتاج إلى استخدام استراتيجية التنسيق الصحيحة. يقبل الأسلوب DateFormat.format كائنات التاريخ كمدخلات. في المثال المقدم، قيمة الإدخال عبارة عن سلسلة تمثل تاريخًا، وليس كائن تاريخ.
الحل هو استخدام كائنين منفصلين SimpleDateFormat: أحدهما لتحليل سلسلة الإدخال والآخر لتنسيق النتيجة. على سبيل المثال:
// Define the output format (mm/yyyy for months and years)
DateFormat outputFormat = new SimpleDateFormat("mm/yyyy", Locale.US);
// Define the input format (yyyy-MM-dd'T'HH:mm:ss.SSSX)
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX", Locale.US);
String inputText = "2012-11-17T00:00:00.000-05:00";
try {
// Parse the input string as a Date object
Date date = inputFormat.parse(inputText);
// Format the Date object using the desired format
String outputText = outputFormat.format(date);
} catch (ParseException e) {
// Handle parsing exceptions here
}
باتباع هذا الأسلوب، يمكننا بشكل فعال تحويل سلسلة تمثل تاريخًا إلى التنسيق المطلوب مع تجنب الخطأ "لا يمكن تنسيق الكائن المحدد كتاريخ".
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3