برمج: توحيد صيغ التواريخ
جمع خالد مواعيد من عدة ملفات؛ التاريخ نفسه يظهر مرةً 2026-4-3 ومرةً 03/04/2026. نريد قائمة تواريخ بصيغة واحدة.
النتيجة
اكتب الدالة normalize_dates(dates) لتعيد قائمة جديدة بصيغة التاريخ القياسية YYYY-MM-DD: سنة من أربعة أرقام، ثم شهر ويوم من رقمين، وبين الأجزاء شرطة.
- كل تاريخ مُدخل صحيح في التقويم الميلادي، وسنته بين
0001و9999. - السنة دائمًا أربعة أرقام، أما الشهر واليوم فمن رقم أو رقمين.
- الفاصل إما
/أو-، ويُستخدم الفاصل نفسه بين أجزاء التاريخ الواحد. قد توجد مسافات حول النص. - إذا جاءت السنة أولًا، فالترتيب سنة ثم شهر ثم يوم. وإذا جاءت أخيرًا، فالترتيب يوم ثم شهر ثم سنة؛ لذلك
03/04/2026يعني 3 أبريل. - احتفظ بترتيب التواريخ وتكرارها، ولا تغيّر القائمة الأصلية. القائمة الفارغة تعطي قائمة فارغة.
مثال
| المدخل | الناتج |
|---|---|
"2026-4-3" |
"2026-04-03" |
"03/04/2026" |
"2026-04-03" |
"2026/04/03" |
"2026-04-03" |
" 9-1-2025 " |
"2025-01-09" |