بايثون3 مِن مدارس w3-30Python Dates
اقتبس من ابراهيم حمادة في 6 مايو، 2021, 12:01 صتنويه:
لِأن التاب لا تظهر على الصفحة, و هي شيء مهم جدا في الإزاحة في كود بايثون
لذلك فإننا سنستبدل التاب بالكلمة 'tab' على هذه الصفحة
و مِن الأفضل إذا شئت أن تنسخ أي كود, أن تأخذه مِن الملف النصي, أو الملفات المُرفقة.
التاريخ والوقت في بيثون(Datetime)التاريخ في بايثون(Date)
التاريخ في Python ليس نوع بيانات خاص به ، ولكن يمكننا استيراد وحدة نمطية تسمى datetime للعمل مع التواريخ وكائنات التاريخ.
مثال
استيراد وحدةْ datetime المتعلقة بالتاريخ والوقت, وعرض التاريخ الحالي:
import datetimex = datetime.datetime.now()
print(x)النتيجة:
2020-11-27 11:50:42.599532
جربها بنفسك مِن ملف datetime1.pyإخراج التاريخ(Date Output)
عندما نُنفذ الكود من المثال أعلاه ، ستكون النتيجة:
2020-11-27 11:50:42.599532
يحتوي التاريخ على السنة والشهر واليوم والساعة والدقيقة والثانية والميكرو ثانية.
تحتوي datetimeالوحدة النمطية على العديد من الطرق لإرجاع معلومات حول كائن التاريخ.
فيما يلي بعض الأمثلة ، سوف تتعلم المزيد عنها لاحقًا في هذا الفصل:
مثال
إرجاع السنة و اسم يوم الأسبوع:
import datetimex = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))النتيجة:
2020
Friday
جربها بنفسك مِن ملف datetime2.pyإنشاء كائنات التاريخ
لإنشاء تاريخ ، يمكننا استخدام فئة datetime() مِن الوحدة النمطية datetime.
و تتطلب فئة datetime() ثلاث مُعامِلات أو وسائط لإنشاء تاريخ: السنة والشهر واليوم.
مثال
إنشاء كائن تاريخ(date object):
import datetimex = datetime.datetime(2020, 5, 17)
print(x)
النتيجة:
2020-05-17 00:00:00
جربها بنفسك مِن ملف datetime3.py
تأخذ فئة datetime() أيضا مُعامِلات للوقت والمنطقة الزمنية (ساعة ، دقيقة ، ثانية ، ميكروثانية ، tzone) ، ولكنها كلها مُعامِلات اختيارية ، ولها قيمة افتراضية 0 ، (None للمنطقة الزمنية timezone).الوظيفة strftime ()
يحتوي كائن datetime على وظيثة لتنسيق كائنات التاريخ في سلاسل نصِّيَة قابلة للقراءة.
تسمى الوظيفة strftime () ، وتأخذ وسيطة واحدة ، format(تنسيق) ، لتحديد تنسيق السلسلة التي سيتم إرجاعها:
مثال
عرض اسم الشهر:
import datetimex = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
ستكون النتيجة:
June
جربها بنفسك مِن ملف datetime_strftime.pyفيما يلي مرجع لجميع رموز التنسيق القانوني:
%a
أيام الأسبوع ، الإسم مختصَر
نموذج على ذلك: Wed
مثال
import datetimex = datetime.datetime.now()
print(x.strftime("%a"))
النتيجة:
Sat
جربها بنفسك » مِن ملف datetime_strftime_a.py%A
أيام الأسبوع ، الإسم الكامل
نموذج على ذلك: Wednesday
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%A"))
النتيجة:
Saturday
جربها بنفسك » مِن ملف datetime_strftime_a2.py%w
أيام الأسبوع كرقم 0-6 ، 0 هو الأحد
نموذج على ذلك: 3
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%w"))
النتيجة:
6
جربها بنفسك » مِن ملف datetime_strftime_w.py%d
أيام الشهر كرقم 01-31
نموذج على ذلك: 31
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%d"))
النتيجة:
28
جربها بنفسك » مِن ملف datetime_strftime_d.py%b
اسم الشهر الإسم مختصَر
نموذج على ذلك: Dec
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%b"))
النتيجة:
Nov
جربها بنفسك » مِن ملف datetime_strftime_b.py%B
اسم الشهر, الإسم الكامل
نموذج على ذلك: December
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%B"))
النتيجة:
November
جربها بنفسك » مِن ملف datetime_strftime_b2.py%m
الشهر كرقم 01-12
نموذج على ذلك: 12
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%m"))
النتيجة:
11
جربها بنفسك » مِن ملف datetime_strftime_m.py%y
السنة ، نسخة قصيرة ، دون القرن
نموذج على ذلك: 18
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%y"))
النتيجة:
20
جربها بنفسك » مِن ملف datetime_strftime_y.py
ملحوظة: 20 في المثال السابق تعني سنة 2020%Y
العام ، الرقم الكامل
نموذج على ذلك: 2018
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%Y"))
النتيجة:
2020
جربها بنفسك » مِن ملف datetime_strftime_y2.py%H
الساعة 00-23
نموذج على ذلك: 17
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%H"))
النتيجة:
04
جربها بنفسك » مِن ملف datetime_strftime_h2.py%I
الساعة 00-12
نموذج على ذلك: 05
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%I"))
النتيجة:
04
جربها بنفسك » مِن ملف datetime_strftime_i2.py%p
AM/PM(صباحا / مساء)
نموذج على ذلك: PM
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%p"))
النتيجة:
AM
جربها بنفسك » مِن ملف datetime_strftime_p.py%M
الدقائق 00-59
نموذج على ذلك: 41
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%M"))
النتيجة:
58
جربها بنفسك » مِن ملف datetime_strftime_m2.py%S
الثواني 00-59
نموذج على ذلك: 08
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%S"))
النتيجة:
47
جربها بنفسك » مِن ملف datetime_strftime_s2.py%f
ميكروثانية 000000-999999
نموذج على ذلك: 548513
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%f"))
النتيجة:
004630
جربها بنفسك » مِن ملف datetime_strftime_f.py%z
UTC offset
نموذج على ذلك: +0100%Z
Timezone(المنطقة الزمنية)
نموذج على ذلك: CST%j
رقم اليوم في السنة 001-366
نموذج على ذلك: 365
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%j"))
النتيجة:
333
جربها بنفسك » مِن ملف datetime_strftime_j.py%U
رقم الأسبوع مِن السنة , الأحد أول يوم مِن الأسبوع, 00-53
نموذج على ذلك: 52
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%U"))
النتيجة:
47
جربها بنفسك » مِن ملف datetime_strftime_u2.py%W
رقم الأسبوع مِن السنة, الإثنين أول أيام الأسبوع, 00-53
نموذج على ذلك: 52
مثال:
import datetimex = datetime.datetime(2018, 5, 31)
print(x.strftime("%W"))
النتيجة:
22
جربها بنفسك » مِن ملف datetime_strftime_w2.py%c
النسخة المحلية من التاريخ والوقت
نموذج على ذلك: Mon Dec 31 17:41:00 2018
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%c"))
النتيجة:
Sat Nov 28 06:03:41 2020
جربها بنفسك » مِن ملف datetime_strftime_c.py%x
الأسلوب المحلي لعرض التاريخ
نموذج على ذلك: 12/31/18
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%x"))
النتيجة:
11/28/20
جربها بنفسك » مِن ملف datetime_strftime_x.py%X
الطريقة المحليَّة لعرض الوقت
نموذج على ذلك: 17:41:00
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%X"))
النتيجة:
07:06:54
جربها بنفسك » مِن ملف datetime_strftime_x2.py%%
علامةْ %
نموذج على ذلك: %
مثال:
import datetimex = datetime.datetime.now()
print(x.strftime("%%"))
النتيجة:
%
جربها بنفسك » مِن ملف datetime_strftime_percent.pyالدرس مع الملفات المُرفقة:
https://www.dropbox.com/s/b4mvwe5s073zx11/30Python%20Dates.zip?dl=1
تنويه:
لِأن التاب لا تظهر على الصفحة, و هي شيء مهم جدا في الإزاحة في كود بايثون
لذلك فإننا سنستبدل التاب بالكلمة 'tab' على هذه الصفحة
و مِن الأفضل إذا شئت أن تنسخ أي كود, أن تأخذه مِن الملف النصي, أو الملفات المُرفقة.
التاريخ والوقت في بيثون(Datetime)
التاريخ في بايثون(Date)
التاريخ في Python ليس نوع بيانات خاص به ، ولكن يمكننا استيراد وحدة نمطية تسمى datetime للعمل مع التواريخ وكائنات التاريخ.
مثال
استيراد وحدةْ datetime المتعلقة بالتاريخ والوقت, وعرض التاريخ الحالي:
import datetime
x = datetime.datetime.now()
print(x)
النتيجة:
2020-11-27 11:50:42.599532
جربها بنفسك مِن ملف datetime1.py
إخراج التاريخ(Date Output)
عندما نُنفذ الكود من المثال أعلاه ، ستكون النتيجة:
2020-11-27 11:50:42.599532
يحتوي التاريخ على السنة والشهر واليوم والساعة والدقيقة والثانية والميكرو ثانية.
تحتوي datetimeالوحدة النمطية على العديد من الطرق لإرجاع معلومات حول كائن التاريخ.
فيما يلي بعض الأمثلة ، سوف تتعلم المزيد عنها لاحقًا في هذا الفصل:
مثال
إرجاع السنة و اسم يوم الأسبوع:
import datetime
x = datetime.datetime.now()
print(x.year)
print(x.strftime("%A"))
النتيجة:
2020
Friday
جربها بنفسك مِن ملف datetime2.py
إنشاء كائنات التاريخ
لإنشاء تاريخ ، يمكننا استخدام فئة datetime() مِن الوحدة النمطية datetime.
و تتطلب فئة datetime() ثلاث مُعامِلات أو وسائط لإنشاء تاريخ: السنة والشهر واليوم.
مثال
إنشاء كائن تاريخ(date object):
import datetime
x = datetime.datetime(2020, 5, 17)
print(x)
النتيجة:
2020-05-17 00:00:00
جربها بنفسك مِن ملف datetime3.py
تأخذ فئة datetime() أيضا مُعامِلات للوقت والمنطقة الزمنية (ساعة ، دقيقة ، ثانية ، ميكروثانية ، tzone) ، ولكنها كلها مُعامِلات اختيارية ، ولها قيمة افتراضية 0 ، (None للمنطقة الزمنية timezone).
الوظيفة strftime ()
يحتوي كائن datetime على وظيثة لتنسيق كائنات التاريخ في سلاسل نصِّيَة قابلة للقراءة.
تسمى الوظيفة strftime () ، وتأخذ وسيطة واحدة ، format(تنسيق) ، لتحديد تنسيق السلسلة التي سيتم إرجاعها:
مثال
عرض اسم الشهر:
import datetime
x = datetime.datetime(2018, 6, 1)
print(x.strftime("%B"))
ستكون النتيجة:
June
جربها بنفسك مِن ملف datetime_strftime.py
فيما يلي مرجع لجميع رموز التنسيق القانوني:
%a
أيام الأسبوع ، الإسم مختصَر
نموذج على ذلك: Wed
مثال
import datetime
x = datetime.datetime.now()
print(x.strftime("%a"))
النتيجة:
Sat
جربها بنفسك » مِن ملف datetime_strftime_a.py
%A
أيام الأسبوع ، الإسم الكامل
نموذج على ذلك: Wednesday
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%A"))
النتيجة:
Saturday
جربها بنفسك » مِن ملف datetime_strftime_a2.py
%w
أيام الأسبوع كرقم 0-6 ، 0 هو الأحد
نموذج على ذلك: 3
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%w"))
النتيجة:
6
جربها بنفسك » مِن ملف datetime_strftime_w.py
%d
أيام الشهر كرقم 01-31
نموذج على ذلك: 31
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%d"))
النتيجة:
28
جربها بنفسك » مِن ملف datetime_strftime_d.py
%b
اسم الشهر الإسم مختصَر
نموذج على ذلك: Dec
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%b"))
النتيجة:
Nov
جربها بنفسك » مِن ملف datetime_strftime_b.py
%B
اسم الشهر, الإسم الكامل
نموذج على ذلك: December
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%B"))
النتيجة:
November
جربها بنفسك » مِن ملف datetime_strftime_b2.py
%m
الشهر كرقم 01-12
نموذج على ذلك: 12
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%m"))
النتيجة:
11
جربها بنفسك » مِن ملف datetime_strftime_m.py
%y
السنة ، نسخة قصيرة ، دون القرن
نموذج على ذلك: 18
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%y"))
النتيجة:
20
جربها بنفسك » مِن ملف datetime_strftime_y.py
ملحوظة: 20 في المثال السابق تعني سنة 2020
%Y
العام ، الرقم الكامل
نموذج على ذلك: 2018
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%Y"))
النتيجة:
2020
جربها بنفسك » مِن ملف datetime_strftime_y2.py
%H
الساعة 00-23
نموذج على ذلك: 17
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%H"))
النتيجة:
04
جربها بنفسك » مِن ملف datetime_strftime_h2.py
%I
الساعة 00-12
نموذج على ذلك: 05
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%I"))
النتيجة:
04
جربها بنفسك » مِن ملف datetime_strftime_i2.py
%p
AM/PM(صباحا / مساء)
نموذج على ذلك: PM
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%p"))
النتيجة:
AM
جربها بنفسك » مِن ملف datetime_strftime_p.py
%M
الدقائق 00-59
نموذج على ذلك: 41
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%M"))
النتيجة:
58
جربها بنفسك » مِن ملف datetime_strftime_m2.py
%S
الثواني 00-59
نموذج على ذلك: 08
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%S"))
النتيجة:
47
جربها بنفسك » مِن ملف datetime_strftime_s2.py
%f
ميكروثانية 000000-999999
نموذج على ذلك: 548513
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%f"))
النتيجة:
004630
جربها بنفسك » مِن ملف datetime_strftime_f.py
%z
UTC offset
نموذج على ذلك: +0100
%Z
Timezone(المنطقة الزمنية)
نموذج على ذلك: CST
%j
رقم اليوم في السنة 001-366
نموذج على ذلك: 365
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%j"))
النتيجة:
333
جربها بنفسك » مِن ملف datetime_strftime_j.py
%U
رقم الأسبوع مِن السنة , الأحد أول يوم مِن الأسبوع, 00-53
نموذج على ذلك: 52
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%U"))
النتيجة:
47
جربها بنفسك » مِن ملف datetime_strftime_u2.py
%W
رقم الأسبوع مِن السنة, الإثنين أول أيام الأسبوع, 00-53
نموذج على ذلك: 52
مثال:
import datetime
x = datetime.datetime(2018, 5, 31)
print(x.strftime("%W"))
النتيجة:
22
جربها بنفسك » مِن ملف datetime_strftime_w2.py
%c
النسخة المحلية من التاريخ والوقت
نموذج على ذلك: Mon Dec 31 17:41:00 2018
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%c"))
النتيجة:
Sat Nov 28 06:03:41 2020
جربها بنفسك » مِن ملف datetime_strftime_c.py
%x
الأسلوب المحلي لعرض التاريخ
نموذج على ذلك: 12/31/18
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%x"))
النتيجة:
11/28/20
جربها بنفسك » مِن ملف datetime_strftime_x.py
%X
الطريقة المحليَّة لعرض الوقت
نموذج على ذلك: 17:41:00
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%X"))
النتيجة:
07:06:54
جربها بنفسك » مِن ملف datetime_strftime_x2.py
%%
علامةْ %
نموذج على ذلك: %
مثال:
import datetime
x = datetime.datetime.now()
print(x.strftime("%%"))
النتيجة:
%
جربها بنفسك » مِن ملف datetime_strftime_percent.py
الدرس مع الملفات المُرفقة:
https://www.dropbox.com/s/b4mvwe5s073zx11/30Python%20Dates.zip?dl=1