Python Date & Time
Datetime module
تحتوي Python على module باسم datetime للعمل مع التواريخ والأوقات.
بعض الأمثلة على الأوقات والتواريخ:-
المثال الأول (الحصول على التاريخ والوقت الحالي):
import datetime
current_datetime = datetime.datetime.now()
print(current_datetime) # output = 2020-07-03 00:20:43.859055
فى المثال السابق:
- قمنا باستيراد module الـ datetime باستخدام عبارة “import datetime“.
- واحدة من الفئات المحددة في module الـ datetime هي فئة datetime + ثم استخدمنا method الـ ()now لإنشاء كائن datetime يحتوي على التاريخ والوقت المحليين الحاليين.
المثال الثانى (الحصول على التاريخ الحالى):
import datetime
current_date = datetime.date.today()
print(current_date) # output = 2020-07-03
في المثال السابق، استخدمنا method الـ ()today المُعرفة في فئة الـ date للحصول على كائن date يحتوي على التاريخ المحلي الحالي.
💡 يمكننا استخدام دالة ()dir للحصول على قائمة تحتوي على جميع سمات الـ module:
import datetime
print(dir(datetime))
output:
['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo']
Creating Date Objects
لإنشاء تاريخ ، يمكننا استخدام فئة ()datetime من module الـ datetime.
تتطلب فئة ()datetime ثلاث parameters لإنشاء تاريخ: year، month، day.
مثال للتوضيح:
import datetime
my_date = datetime.datetime(2022, 2, 4)
print(my_date)
💡 تأخذ فئة ()datetime أيضًا parameters للوقت والمنطقة الزمنية (ساعة ، دقيقة ، ثانية ، ميكروثانية ، timezone) ، ولكنها اختيارية ، ولها قيمة افتراضية 0.
strftime() Method
يحتوي الكائن datetime على method لتنسيق كائنات التاريخ في strings قابلة للقراءة وتسمى ()strftime، وتأخذ parameter واحدة وهى الـ format لتحديد تنسيق الـ string التي تم إرجاعها، كالتالى:
import datetime
x = datetime.datetime(2020, 3, 7)
print(x.strftime("%m")) # output = 03
strptime() Method
تنشئ method الـ ()strptime كائن datetime من الـ string المعطاة.
ملاحظة: لا يمكنك إنشاء كائن datetime من كل string + يجب أن تكون الـ sting بتنسيق معين.
مثال للتوضيح (string إلى كائن datetime):
from datetime import datetime
date_str = "5 July, 2020"
print(date_str) # output = 5 July, 2020
print(type(date_str)) # output = <class 'str'>
date_object = datetime.strptime(date_str, "%d %B, %Y")
print(date_object) # output = 2020-07-05 00:00:00
print(type(date_object)) # output = <class 'datetime.datetime'>
💡 كيف يعمل ()strptime؟
تأخذ method فئة الـ ()strptime وسيطتين (two arguments):
- سلسلة string (التي سيتم تحويلها إلى datetime).
- رمز التنسيق format code.
استنادًا إلى الـ string و format code المستخدم ، ترجع الـ method كائن datetime المكافئ لها.
Format Code List
يوضح الجدول التالى جميع الـ format code التي يمكنك استخدامها:
Example | Meaning | Directive |
---|---|---|
CST | Timezone (المنطقة الزمنية) | Z% |
0100+ | UTC offset | z% |
343423 | Microsecond 000000-999999 | f% |
09 | Second 00-59 | S% |
53 | Minute 00-59 | M% |
AM | AM/PM | p% |
04 | Hour 00-12 | I% |
19 | Hour 00-23 | H% |
2020 | السنة (full version) | Y% |
20 | السنة (short version) + بدون قرن | y% |
11 | الشهر كرقم 12-01 | m% |
July | إسم الشهر (full version) | B% |
Jul | إسم الشهر (short version) | b% |
25 | يوم من الشهر 31-01 | d% |
5 | أيام الأسبوع برقم 0-6 ، (0) يوم الأحد | w% |
Monday | أيام الأسبوع (full version) | A% |
Mon | أيام الأسبوع (short version) | a% |
200 | رقم يوم من السنة 001-366 | j% |
52 | رقم الأسبوع من السنة ، الأحد باعتباره أول أيام الأسبوع (53-00) | U% |
52 | رقم الأسبوع من السنة ، الاثنين في أول يوم من الأسبوع (53-00) | W% |
Tue Jul 7 00:00:00 2020 | نسخة محلية من التاريخ والوقت | c% |
07/07/20 | نسخة محلية من التاريخ | x% |
20:31:00 | نسخة محلية من الوقت | X% |
% | A % character | %% |
💡 مثال (لجلب التاريخ الحالي بتنسيقات مختلفة):
from datetime import date
today = date.today()
# dd/mm/yy
method1 = today.strftime("%d/%m/%y")
print(method1) # output = 03/07/20
# Textual month, day and year
method2 = today.strftime("%B %d, %Y")
print(method2) # output = July 03, 2020
# mm/dd/y
method3 = today.strftime("%m/%d/%y")
print(method3) # output = 07/03/20
# Month abbreviation, day and year
method4 = today.strftime("%b-%d-%Y")
print(method4) # output = Jul-03-2020
💡 مثال (لجلب التاريخ والوقت الحالى):
from datetime import datetime
# datetime object containe current date and time
now = datetime.now()
print(now) # output = 2020-07-03 02:01:28.014061
# dd/mm/yy H:M:S
date_time = now.strftime("%d/%m/%y %H:%M:%S")
print(date_time) # OUTPUT = 03/07/20 02:02:41
Get Current time
هناك عدد من الطرق التي يمكنك اتباعها للحصول على الوقت الحالي في Python:
# First Exam: Current time using time module
import time
loc_t = time.localtime()
curr_time = time.strftime("%H:%M:%S", loc_t)
print(curr_time) # output = 02:07:56
# Second Exam: Current time using datetime object
from datetime import datetime
now = datetime.now()
curr_time = now.strftime("%H:%M:%S")
print(curr_time) # output = 02:09:44
# Third Exam
from datetime import datetime
now = datetime.now().time() # Time object
print(now) # output = 02:10:47.703091
print(type(now)) # output = <class 'datetime.time'>
💡 الزتونة
- تحتوي Python على module باسم datetime للعمل مع التواريخ والأوقات.
- يمكننك استخدام دالة ()dir للحصول على قائمة تحتوي على جميع سمات الـ module.
- تتطلب فئة ()datetime ثلاث parameters لإنشاء تاريخ: year، month، day.
- ()strftime، وتأخذ parameter واحدة وهى الـ format لتحديد تنسيق الـ string التي تم إرجاعها.
- تنشئ method الـ ()strptime كائن datetime من الـ string المعطاة.
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!