English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستعلم كيفية إنشاء بيانة datetime من النص (بمساعدة الأمثلة).
يخلق طريقة strptime() بيانة من النص المقدمdatetimeالبيانة.
ملاحظة:لا يمكنك إنشاء بيانة datetime من كل نص. يجب أن يكون النص بصيغة معينة.
من 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() دالة من نوعين:
النص (سيتم تحويله إلى تاريخ ووقت)
كود الت formato
بناءً على النص المستخدم وكود الت formato، يعود هذا النهج إلى بيانته المناظر في datetime.
في مثال السابقة:
هنا،
%d-يعبر عن يوم الشهر.مثال: 01،02،...،31
%B-الاسم الكامل للشهر.مثلاً:January،February إلخ
%Y-بشكل عام، السنة تعبر عن أربعة أرقام.مثلاً: 2018،2019 إلخ
من 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 |
%% | حرف النص '%%'. | % |
إذا لم تتناسب الأنماط التي يتم تقديمها للـ 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