الكورس

Advertisements

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

فى المثال السابق:

  1. قمنا باستيراد module الـ datetime باستخدام عبارة “import datetime“.
  2. واحدة من الفئات المحددة في 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):

  1. سلسلة string (التي سيتم تحويلها إلى datetime). 
  2. رمز التنسيق format code.

استنادًا إلى الـ string و format code المستخدم ، ترجع الـ method كائن datetime المكافئ لها.


 

Format Code List

 

يوضح الجدول التالى جميع الـ format code التي يمكنك استخدامها:

ExampleMeaningDirective
CSTTimezone (المنطقة الزمنية)Z%
0100+UTC offsetz%
343423Microsecond 000000-999999f%
09Second 00-59S%
53Minute 00-59M%
AMAM/PMp%
04Hour 00-12I%
19Hour 00-23H%
2020السنة (full version)Y%
20 السنة (short version) + بدون قرنy%
11الشهر كرقم 12-01m%
Julyإسم الشهر (full version)B%
Julإسم الشهر (short version)b%
25يوم من الشهر 31-01d%
5أيام الأسبوع برقم 0-6 ، (0) يوم الأحدw%
Mondayأيام الأسبوع (full version)A%
Monأيام الأسبوع (short version)a%
200رقم يوم من السنة 001-366j%
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'>

 

💡 الزتونة

 

  1. تحتوي Python على module باسم datetime للعمل مع التواريخ والأوقات. 
  2. يمكننك استخدام دالة ()dir للحصول على قائمة تحتوي على جميع سمات الـ module.
  3. تتطلب فئة ()datetime ثلاث parameters لإنشاء تاريخ: year، month، day.
  4. ()strftime، وتأخذ parameter واحدة وهى الـ format لتحديد تنسيق الـ string التي تم إرجاعها.
  5. تنشئ method الـ ()strptime كائن datetime من الـ string المعطاة.

 



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements