شعار زيفيرنت

بايثون DateTime - وظيفة strptime ().

التاريخ:

المُقدّمة

يعد التعامل مع التاريخ والوقت ومعالجتهما في البرمجة أمرًا ضروريًا لمختلف التطبيقات. بايثون، كونها لغة برمجة متعددة الاستخدامات، تقدم وحدة DateTime قوية تعمل على تبسيط العمل مع التواريخ والأوقات. إحدى الوظائف المهمة داخل وحدة DateTime هي strptime()، والتي تشير إلى "وقت تحليل السلسلة". في منشور المدونة هذا، سنتعمق في تفاصيل الدالة strptime() ونستكشف كيف يمكن أن تكون أداة قوية لتحليل السلاسل في كائنات DateTime.

بايثون DateTime - وظيفة strptime ().

جدول المحتويات

فهم الدالة `strptime()`

يتم استخدام الدالة `strptime()` في وحدة Python DateTime لتحليل سلسلة تمثل التاريخ والوقت وتحويلها إلى كائن DateTime. يستغرق الأمر وسيطتين: السلسلة المراد تحليلها وتنسيق السلسلة.

يتم تحديد تنسيق السلسلة باستخدام توجيهات التنسيق، وهي عبارة عن عناصر نائبة تمثل مكونات مختلفة للتاريخ والوقت. تُستخدم توجيهات التنسيق هذه لاستخراج المعلومات ذات الصلة من السلسلة وإنشاء كائن DateTime.

توجيهات التنسيق لـ `strptime()`

تستخدم الدالة `strptime()` توجيهات تنسيق مختلفة لتحديد تنسيق السلسلة. فيما يلي بعض توجيهات التنسيق شائعة الاستخدام:

1. `%Y` - السنة: يمثل هذا التوجيه السنة بأربعة أرقام. على سبيل المثال، سيتم تحليل العام `%Y` على أنه "2022".

2. `%m` - الشهر: يمثل هذا التوجيه الشهر برقمين. على سبيل المثال، سيقوم `%m` بتحليل الشهر كـ '01' لشهر يناير.

3. `%d` - اليوم: يمثل هذا التوجيه اليوم برقمين. على سبيل المثال، سيقوم `%d` بتحليل اليوم كـ ’01‘.

4. `%H` - الساعة: يمثل هذا التوجيه الساعة بتنسيق 24 ساعة. على سبيل المثال، سيقوم `%H` بتحليل الساعة كـ ’13‘ للساعة 1 بعد الظهر.

5. `%M` - الدقيقة: يمثل هذا التوجيه الدقيقة برقمين. على سبيل المثال، سيقوم `%M` بتحليل الدقيقة على أنها ’30‘.

6. `%S` – ثانياً: يمثل هذا التوجيه الثاني في رقمين. على سبيل المثال، سيقوم `%S` بتحليل الثانية كـ 45.

7. `%A` - يوم من أيام الأسبوع (الاسم الكامل): يمثل هذا التوجيه الاسم الكامل لأيام الأسبوع. على سبيل المثال، سيتم تحليل `%A` يوم الأسبوع على أنه "الاثنين".

8. `%a` - يوم من أيام الأسبوع (اختصار): يُستخدم هذا التوجيه لتمثيل اختصار أيام الأسبوع. على سبيل المثال، سيتم تحليل `%a` يوم الأسبوع على أنه "Mon".

9. `%B` - الشهر (الاسم الكامل): يمثل هذا التوجيه الاسم الكامل للشهر. على سبيل المثال، سيتم تحليل `%B` الشهر على أنه "يناير".

10. `%b` - الشهر (اختصار): يمثل هذا التوجيه اختصار الشهر. على سبيل المثال، سيقوم `%b` بتحليل الشهر على أنه "يناير".

11. `%p` - مؤشر AM/PM: يمثل هذا التوجيه مؤشر AM/PM. على سبيل المثال، سيقوم `%p` بتحليل المؤشر على أنه "AM" أو "PM".

12. `%Z` - المنطقة الزمنية: يمثل هذا التوجيه المنطقة الزمنية. على سبيل المثال، سيقوم `%Z` بتحليل المنطقة الزمنية على أنها "UTC" أو "GMT".

أمثلة على استخدام `strptime()`

تحويل سلسلة إلى كائن Python DateTime

لنفترض أن لدينا تمثيل سلسلة للتاريخ والوقت: "2022-01-01 13:30:45". يمكننا استخدام الدالة `strptime()` لتحويل هذه السلسلة إلى كائن DateTime كما يلي:

رمز:

from datetime import datetime
date_string = '2022-01-01 13:30:45'
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
print(date_object)

الإخراج:

2022-01-01 13:30:45

التعامل مع تنسيقات التاريخ المختلفة

يمكن للدالة `strptime()` التعامل مع تنسيقات التاريخ المختلفة. لنفترض أن لدينا سلسلة تمثل التاريخ بالتنسيق "01-Jan-2022". يمكننا استخدام الدالة `strptime()` مع توجيه التنسيق المناسب لتحويل هذه السلسلة إلى كائن DateTime:

رمز:

from datetime import datetime
date_string = '01-Jan-2022'
date_object = datetime.strptime(date_string, '%d-%b-%Y')
print(date_object)

الإخراج:

2022-01-01 00:00:00

تحليل المناطق الزمنية باستخدام `strptime()`

يمكن للوظيفة `strptime()` أيضًا تحليل المناطق الزمنية. لنفترض أن لدينا سلسلة تمثل التاريخ والوقت بمنطقة زمنية: "2022-01-01 13:30:45 UTC". يمكننا استخدام الدالة `strptime()` مع توجيه التنسيق المناسب لتحويل هذه السلسلة إلى كائن DateTime:

رمز:

from datetime import datetime
date_string = '2022-01-01 13:30:45 UTC'
date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S %Z')
print(date_object)

الإخراج:

2022-01-01 13:30:45+00:00

"خطأ في القيمة: بقايا بيانات غير محولة".

في بعض الأحيان، عند استخدام الدالة `strptime()`، قد تواجه خطأ ValueError مع الرسالة "تبقى البيانات غير المحولة". يحدث هذا الخطأ عندما لا يتم تحويل البيانات الإضافية في السلسلة وفقًا للتنسيق المحدد. لإصلاح هذا الخطأ، تأكد من أن التنسيق يطابق السلسلة تمامًا.

رمز:

from datetime import datetime
date_string = '2022-01-01 13:30:45 ExtraData'
try:
    date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S')
    print(date_object)
except ValueError as e:
    print(f"Error: {e}")

الإخراج:

خطأ: تبقى البيانات التي لم يتم تحويلها: ExtraData

`خطأ في القيمة: بيانات الوقت '...' لا تتطابق مع التنسيق '...''

خطأ شائع آخر هو ValueError مع الرسالة "بيانات الوقت '...' لا تتطابق مع التنسيق '...'". يحدث هذا الخطأ عندما لا تتطابق السلسلة مع التنسيق المحدد. تحقق جيدًا من التنسيق والسلسلة للتأكد من توافقهما.

رمز:

from datetime import datetime
date_string = '01-01-2022'
try:
    date_object = datetime.strptime(date_string, '%Y-%m-%d')
    print(date_object)
except ValueError as e:
    print(f"Error: {e}")

الإخراج:

خطأ: بيانات الوقت '01-01-2022' لا تتطابق مع التنسيق '%Y-%m-%d'

التعامل مع التواريخ أو الأوقات غير الصالحة

لا تتعامل الدالة `strptime()` مع التواريخ أو الأوقات غير الصالحة بشكل افتراضي. إذا قمت بتمرير تاريخ أو وقت غير صالح، فسيؤدي ذلك إلى ظهور خطأ ValueError. يمكنك استخدام معالجة الاستثناءات مع كتلة محاولة باستثناء لمعالجة التواريخ أو الأوقات غير الصالحة.

رمز:

from datetime import datetime
date_string = '2022-02-30'
try:
    date_object = datetime.strptime(date_string, '%Y-%m-%d')
    print(date_object)
except ValueError as e:
    print(f"Error: {e}")

الإخراج:

خطأ: اليوم خارج نطاق الشهر

الدالة strptime()

أفضل الممارسات والنصائح لاستخدام `strptime()`

تحديد التنسيق الصحيح

عند استخدام الدالة `strptime()`، من الضروري تحديد التنسيق الصحيح للسلسلة. تأكد من مطابقة توجيهات التنسيق مع المكونات المقابلة لها في السلسلة. قد يؤدي الفشل في القيام بذلك إلى تحليل غير صحيح أو ValueError.

التعامل مع التواريخ الغامضة

يمكن تفسير التواريخ الغامضة، مثل "01-02-2022"، بشكل مختلف اعتمادًا على تنسيق التاريخ. لتجنب الغموض، يوصى باستخدام تنسيقات تاريخ لا لبس فيها أو توفير سياق إضافي لتوضيح التاريخ.

التعامل مع اختلافات المنطقة الزمنية

عند تحليل السلاسل مع المناطق الزمنية، من الضروري مراعاة اختلافات المناطق الزمنية. تأكد من وجود كائن DateTime في المنطقة الزمنية الصحيحة أو قم بتحويله إلى المنطقة الزمنية المطلوبة باستخدام الطرق المناسبة.

وفي الختام

تعد وظيفة `strptime()` في وحدة Python DateTime أداة قوية لتحويل تمثيلات سلسلة التواريخ والأوقات إلى كائنات DateTime. من خلال فهم توجيهات التنسيق واتباع أفضل الممارسات، يمكنك تحليل التواريخ والأوقات ومعالجتها بشكل فعال في برامج Python الخاصة بك.

هل أنت مستعد للشروع في رحلة لإتقان لغة بايثون والتعمق في العوالم المثيرة للذكاء الاصطناعي والتعلم الآلي؟ انضم الينا برنامج AI & ML BlackBelt Plus المعتمد اليوم! سواء كنت مبتدئًا حريصًا على بدء رحلة البرمجة الخاصة بك أو مطورًا ذو خبرة يتطلع إلى تحسين مهاراتك، فإن برنامجنا الشامل يلبي جميع مستويات المهارات. اكتسب خبرة عملية، واحصل على إرشادات الخبراء، واطلق العنان لإمكانات Python في المجالات الديناميكية للذكاء الاصطناعي والتعلم الآلي. لا تفوت هذه الفرصة لتصبح معتمدًا في Python AI & ML BlackBelt - سجل الآن واتخذ الخطوة الأولى نحو مهنة مجزية وقابلة للمستقبل!

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة