يمكن التحكم بالوقت والتاريخ بعدة طرق. التحويل بين صيع التاريخ أمر شائع للغاية في الحواسيب. ضبط الوقت والتقويم في لغة البرمجة python يساعد في تعقب التواريخ والوقت.
ماهي العلامة؟
الفواصل الزمنية عبارة عن أرقام بالفاصلة العائمة وتكون من مرتبة الثانية ويتم التعبير عنها بالثواني منذ 12:00am, January 1, 1970 .
هناك العديد من وحدات الزمن المستخدمة في لغة البرمجة Python والتي تؤمن العديد من التوابع للعمل مع الزمن وللتحويل بين أنماط الزمن. التابع
time.time()
يعيد النظام الحالي للعلامات منذ 12:00am, January 1, 1970.مثال
#!/usr/bin/python
import time; # This is required to include time module.
ticks = time.time()
print "Number of ticks since 12:00am, January 1, 1970:", ticks
عندها تظهر النتيجة التالية
Number of ticks since 12:00am, January 1, 1970: 7186862.73399
إن عملية حساب البيانات سهلة للتنفيذ مع العلامات, التواريخ قبل epoch
لا مكن تمثيلها بهذه الصيغة كما أن التواريخ المستقبلية لا يمكن تمثيلها أيضاً.
ما هو صف الزمن؟
العديد من التوابع المستخدمة للتعامل مع الزمن هي عبارة عن صف من 9أرقام كما هو مبين في الجدول التالي
المؤشر | الحقل | القيمة |
---|---|---|
0 | 4-digit year | 2008 |
1 | Month | 1 to 12 |
2 | Day | 1 to 31 |
3 | Hour | 0 to 23 |
4 | Minute | 0 to 59 |
5 | Second | 0 to 61 (60 or 61 are leap-seconds) |
6 | Day of Week | 0 to 6 (0 is Monday) |
7 | Day of year | 1 to 366 (Julian day) |
8 | Daylight savings | -1, 0, 1, -1 تعني محددات المكتبة DST |
إن الصف السابق موافق للتركيب struct_time وهذا التركيب يتميز بالسمات التالية:
المؤشر | السمات | القيم |
---|---|---|
0 | tm_year | 2008 |
1 | tm_mon | 1 to 12 |
2 | tm_mday | 1 to 31 |
3 | tm_hour | 0 to 23 |
4 | tm_min | 0 to 59 |
5 | tm_sec | 0 to 61 (60 or 61 are leap-seconds) |
6 | tm_wday | 0 to 6 (0 is Monday) |
7 | tm_yday | 1 to 366 (Julian day) |
8 | tm_isdst | -1, 0, 1, -1 تعني محددات المكتبة DST |
الحصول على الزمن الحالي
لتحويل لحظة الزمن من الثواني على شكل قيمة الفاصلة العائمة بالصيغة epoch إلى صف الزمن, يتم إدخال القيمة ذات الفاصلة العائمة إلى التابع الذي يعيد صف الزمن مع البنود ال 9 المتوفرة.
مثال
#!/usr/bin/python
import time;
localtime=time.localtime(time.time())
print"Local current time :",localtime
فتظهر النتيجة التالية
Local current time : time.struct_time(tm_year=2013, tm_mon=7,
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
الحصول على الوقت المصاغ (المنسق)
يمكن صياغة الوقت بالطريقة التي يريدها المستخدم ولكن الطريقة المثلى للحصول على الوقت بطريقة مقروءة هي استخدام التابع
asctime()
#!/usr/bin/python
import time;
localtime=time.asctime(time.localtime(time.time()))
print"Local current time :",localtime
فتظهر النتيجة التالية
Local current time :TueJan1310:17:092009
الحصول على التقويم لشهر
تعطي وحدة التقويم خيارات واسعة للتعامل مع التقويم الشهري والسنوي, يمثل التالي تقويماً لشهر معطى هو كانون الثاني 2008
#!/usr/bin/python
import calendar
cal=calendar.month(2008,1)
print"Here is the calendar:"
printcal;
فتظهر النتيجة التالية
Here is the calendar:
January 2008
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
وحدة الزمن
هناك العديد من وحدات الزمن المستخدمة في لغة البرمجة Python والتي تؤمن العديد من التوابع للعمل مع الزمن وللتحويل بين أنماط الزمن.
يبين الجدول التالي الطرق المتاحة
الرقم التسلسلي | التابع والوصف |
---|---|
1 | time.altzone إزاحة DST التوقيت المحلي بضع في ثوان غرب UTC. ويكون سلبيا إذا كان DST التوقيت المحلي شرق UTC. |
2 | time.asctime([tupletime]) تقبل صف الزمن وتعيد سلسلة قابلة للقراءة من 24 حرف. مثل Tue Dec 11 18:07:14 2008'. |
3 | time.clock( ) تعيد الوقت CPUكرقم بالفاصلة العائمة من الثواني. لقياس التكاليف الحسابية من المناهج المختلفة وقيمة الوقت فإن الساعة مفيدة جداً أكتر من التعليمة time.time() . |
4 | time.ctime([secs]) تشبه ال asctime(localtime(secs)) ومن دون مدخلات تشبه ال asctime( ). |
5 | time.gmtime([secs]) تقبل اللحظة الزمنية بالثانية وتعيد صف الزمن t مع الزمنUTC مع ملاحظة أن t.tm_isdst دوماً تأخذ القيمة صفر. |
6 | time.localtime([secs])تقبل اللحظة الزمنية بالثانية وتعيد صف الزمنt مع الزمن المحلي . |
7 | time.mktime(tupletime) تقبل اللحظة الزمنية كصف زمن بالتوقيت المحلي وتعيد قيمة الفاصلة العائمة معبراً عنها بالثواني. |
8 | time.sleep(secs) تعلق استدعاء الثواني secs. |
9 | time.strftime(fmt[,tupletime]) يقبل اللحظة الزمنية معبراً عنها كصف زمن بالتوقيت المحلي ويعيد سلسلة تمثل اللحظة الزمنية موصوفة بالسلسلة fmt . |
10 | time.strptime(str,fmt='%a %b %d %H:%M:%S %Y') يوزع ال str وفقاً للسلسلة fmt ويعيد اللحظة الزمنية بصيغة صف الزمن. |
11 | time.time( ) تعيد اللحظة الزمنية الحالية, عدد الثواني كرقم بالفاصلة العائمة. |
12 | time.tzset() تعيد ضبط قواعد التحويل الزمني باستخدام المكتبة الاعتيادية. |
يمثل الجدول التالي السمتين الأكثر أهمية والمتوفرتين في وحدة الزمن
الرقم التسلسلي | السمة مع الوصف |
---|---|
1 | time.timezone سمة الوقت. تمثل المنطقة الزمنية إزاحة في الثواني للمنطة الزمنية المحلية . |
2 | time.tzname سمة الوقت. تمثل زوجاً من السلسلاسل المحلية المرتبطة والتي تسمي المنطقة الزمنية المحلية بدون أو مع DST. |
وحدة التقويم
تتضمن هذه الوحدة على توابع مرتبط بالتقويم بما في ذلك التوابع المستخدمة لطباعة نص التقويم من أجل شهر أو سنة معطاة. ويشكل افراضي فإن التقويم يأخذ الاثنين كأول أيام الأسبوع والأحد آخرها ولتغغير ذلك يتم استدعاء التابع
setfirstweekday()
يمثل الجدول التالي قائمة بالتوابع المتوفرة في وحدة التقويم:
الرقم التسلسلي | التابع والوصف |
---|---|
1 | calendar.calendar(year,w=2,l=1,c=6) تقوم بإرجاع سلسلة متعددة الأسطر مع وضع جدول زمني لمدة سنة في ثلاثة أعمدة مفصولة بمسافات c حيث w هو العرض لأحرف كل تاريخ وكل سطر له طول 21*w+18+2*c .I تمثل عدد الأسطر لكل أسبوع. |
2 | calendar.firstweekday( )تعيد الضبط الحالي ليوم الأسبوع الذي يبدأ عنده الأسبوع وبشكل افتراضي عندما يتم استيراد التقويم أولاً تكون القيمة 0 مما يعني يوم الاثنين. |
3 | calendar.isleap(year) تعيد القيمة صح إذا كانت السنة سنة طفرة ويعيد القيمة خطأ في حال عكس ذلك. |
4 | calendar.leapdays(y1,y2) تعيد العدد الكلي للايام الطفرة في السنة ضمن المجال range(y1,y2). |
5 | calendar.month(year,month,w=2,l=1)تقوم بإرجاع سلسلة متعددة الأسطر مع وضع جدول زمني لشهر من السنة. سطر للأسبوع بالإضافة إلى سطرين رئيسيين. |
6 | calendar.monthcalendar(year,month) بإرجاع قائمة من قوائم [ints]. كل قائمة فرعية تدل على الأسبوع. يتم تعيين الأيام خارج الشهر بالدليل 0؛ ويتم تعيين الأيام خلال الشهر وفقاً لليوم خلال الشهر أي 1 وما فوق. |
7 | calendar.monthrange(year,month) تعيد رقمين صحيحين. الأول يمثل شيفرة اليوم الأول من الشهر والثاني يمثل عدد الأيام في الشهر. |
8 | calendar.prcal(year,w=2,l=1,c=6) تشبه طباعة التقويم calendar(year,w,l,c). |
9 | calendar.prmonth(year,month,w=2,l=1) تشبه طباعة التقويم month(year,month,w,l). |
10 | calendar.setfirstweekday(weekday) تضبط اليوم الأول لكل أسبوع حيث شيفرة أيام الأسبوع هي 0 ليوم الاثنين و6 ليوم الأحد. |
11 | calendar.timegm(tupletime) يستخدم لعكس الزمن gmtime تقبل اللحظة الزمنية كصف الزمن وتعيد اللحظة الزمنية نفسها كرقم بالفاصلة العائمة يمثل الثواني . |
12 | calendar.weekday(year,month,day) تعيد شيفرة اليوم الأسبوعي كرقم بالفاصلة العائمة يمثل الثواني |
ليست هناك تعليقات:
إرسال تعليق