Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

تنسيق التاريخ

جزء من قسم المنطق وتدفق التنفيذ في رحلة Java على Coddy. الدرس 58 من 59.

يتيح لك DateTimeFormatter في Java تنسيق التواريخ والأوقات باستخدام أنماط مختلفة. ويمكن استخدامه مع LocalDate وLocalTime وLocalDateTime.

أنشئ formatter بنمط محدد:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");

نسّق تاريخًا باستخدام formatter:

LocalDate date = LocalDate.of(2024, 3, 15);
String formatted = date.format(formatter);

بعد تنفيذ الكود أعلاه، يحتوي formatted على:

2024-03-15

حلّل سلسلة نصية إلى تاريخ:

String dateStr = "2024-03-15";
LocalDate date = LocalDate.parse(dateStr, formatter);
challenge icon

التحدي

سهل

أنشئ أسلوبًا باسم formatDate يأخذ ثلاث وسائط:

  1. ‏String (dateStr) بالتنسيق "yyyy-MM-dd"
  2. ‏String (inputPattern) وهو نمط تاريخ الإدخال
  3. ‏String (outputPattern) وهو نمط الإخراج المطلوب

يجب أن يقوم الأسلوب بما يلي:

  1. تحليل تاريخ الإدخال باستخدام نمط الإدخال
  2. تنسيقه باستخدام نمط الإخراج
  3. معالجة هذه الأنماط:
    • "basic": "yyyy-MM-dd"
    • "long": "MMMM d, yyyy"
    • "short": "MM/dd/yy"
    • "custom": سلسلة النمط الفعلية

يجب أن تكون الرسائل المُعادة كما يلي:

  • إذا كان التاريخ غير صالح: أعد "Invalid date format"
  • إذا كان النمط غير صالح: أعد "Invalid pattern"
  • عند النجاح: أعد التاريخ المنسق

جرّب بنفسك

import java.util.Scanner;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;

public class Main {
    public static String formatDate(String dateStr, String inputPattern, String outputPattern) {
        // اكتب كودك هنا
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String dateStr = scanner.nextLine();
        String inputPattern = scanner.nextLine();
        String outputPattern = scanner.nextLine();
        
        System.out.println(formatDate(dateStr, inputPattern, outputPattern));
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Java عبر الإنترنت