English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي في Python

تحكم في عملية Python

الوظائف في Python

أنواع البيانات في Python

عمليات ملفات Python

أbjects و classes في Python

تاريخ ووقت Python

معرفة متقدمة في Python

دليل Python

strptime() في Python

في هذا المقال، ستعلم كيفية إنشاء بيانة datetime من النص (بمساعدة الأمثلة).

يخلق طريقة strptime() بيانة من النص المقدمdatetimeالبيانة.

ملاحظة:لا يمكنك إنشاء بيانة datetime من كل نص. يجب أن يكون النص بصيغة معينة.

مثال 1: النص على بيانة تاريخ ووقت

من datetime import datetime
date_string = "21 June،2018"
print("date_string =", date_string)
print("نوع_date_string =", type(date_string))
نوع_data_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)
print("نوع_data_object =", type(data_object))

عند تشغيل البرنامج، الناتج هو:

نوع_date_string = 21 June،2018
نوع_date_string = <class 'str'>
نوع_data_object = 2018-06-21 00:00:00
نوع_data_object = <class 'datetime.datetime'>

كيف يعمل strptime()؟

strptime() دالة من نوعين:

  • النص (سيتم تحويله إلى تاريخ ووقت)

  • كود الت formato

بناءً على النص المستخدم وكود الت formato، يعود هذا النهج إلى بيانته المناظر في datetime.

في مثال السابقة:

هنا،

  • %d-يعبر عن يوم الشهر.مثال: 01،02،...،31

  • %B-الاسم الكامل للشهر.مثلاً:January،February إلخ

  • %Y-بشكل عام، السنة تعبر عن أربعة أرقام.مثلاً: 2018،2019 إلخ

مثال 2: سلسلة النصوص لعدد الوقت التاريخي

من datetime import datetime
dt_string = "12/11/2019 09:15:32"
# تاريخ في شكل dd/mm/yyyy
dt_object1 = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print("dt_object1 =", dt_object1)
# تاريخ في شكل mm/dd/yyyy
dt_object2 = datetime.strptime(dt_string, "%m/%d/%Y %H:%M:%S")
print("dt_object2 =", dt_object2)

عند تشغيل البرنامج، الناتج هو:

dt_object1 = 2019-11-12 09:15:32
dt_object2 = 2019-12-11 09:15:32

قائمة رموز التنسيق

يظهر الجدول أدناه جميع رموز التنسيق التي يمكنك استخدامها.

التعليماتالمعنىمثال
%aاختصار اسم اليوم العامل.Sun, Mon, ...
%Aاسم اليوم العامل بالكامل.Sunday, Monday, ...
%wاليوم العامل كعدد عشري.0،1،...،6
%dيوم الشهر، كعدد عشري مملوء بالصفر.01،02،...،31
-%dيوم الشهر كعدد عشري.1،2،...،30
%bاختصار الشهر.Jan, Feb, ..., Dec
%Bاسم الشهر الكامل.January, February, ...
%mالشهر كعدد عشري مملوء بالصفر.01،02،...،12
-%mالشهر كعدد عشري.1،2،...،12
%yسنة بدون عقد، كعدد عشري مملوء بالصفر.00،01،...،99
-%yسنة بدون عقد كعدد عشري.0،1،...،99
%Yسنة العقد كعدد عشري.2013،2019،...
%Hالساعة (النظام 24 ساعي)، كعدد عشري مملوء بالصفر.00،01،...،23
-%Hالساعة (النظام 24 ساعي) كعدد عشري.0،1،...،23
%Iالساعة (النظام 12 ساعي)، كعدد عشري مملوء بالصفر.01،02،...،12
-%Iالساعة (النظام 12 ساعي) كعدد عشري.1 2 2
%pالساعة الصباحية أو المسائية في بيئة اللغة.AM,PM
%Mدقيقة، عدد عشري مملوء بالصفر.00،01،...،59
%-Mتمثل برقم عشري.0،1،...،59
%Sرقم عشري ثاني مملوء بالأصفار.00،01،...،59
%-Sرقم عشري ثاني.0،1،...،59
%fالميكروثانية، عدد عشري، يتم تعويضه بالأصفار في اليسار.000000-999999
%zنسبة التغيير في منطقة الوقت، بصيغة + HHMM أو - HHMM. 
%Zاسم منطقة الوقت. 
%jيوم في السنة، تمثل برقم عشري مملوء بالأصفار.001،002،...،366
%-jيوم في السنة، تمثل برقم عشري.1،2،...،366
%Uالأسبوع في السنة (أول يوم من الأسبوع هو يوم الأحد). جميع الأيام التي قبل أول يوم من الأسبوع الأول من السنة الجديدة تُعتبر في الأسبوع 0.00،01،...،53
%Wالأسبوع في السنة (أول يوم من الأسبوع هو يوم الإثنين). جميع الأيام التي قبل أول يوم من الأسبوع الأول من السنة الجديدة تُعتبر في الأسبوع 0.00،01،...،53
%cشكل التاريخ والوقت المناسب للبيئة اللغوية.Mon Sep 30 07:06:05 2013
%xشكل التاريخ المناسب للبيئة اللغوية.13/9/30
%Xشكل الوقت المناسب للبيئة اللغوية.07:06:05
%%حرف النص '%%'.%

خطأ ValueError في strptime()

إذا لم تتناسب الأنماط التي يتم تقديمها للـ strptime() (الم 参数 الأول) والرمز النمطي (الم 参数 الثاني)، سيتم الحصول على خطأ ValueError. على سبيل المثال:

من datetime import datetime
date_string = "12/11/2018"
date_object = datetime.strptime(date_string, "%d %m %Y")
print("date_object =", date_object)

إذا قمت بتشغيل هذا البرنامج، ستظهر لك خطأ.

خطأ القيمة غير صحيحة: بيانات الوقت '12/11/2018' لا تتوافق مع النمط '%d %m %Y'

اقرأ أيضًا: strftime() في Python