محبوب مثل پایتون! (قسمت یازدهم)

زبان برنامه نویسی پایتون cheyab.ir

در این سری از اموزش پایتون چ‌یاب با نحوه‌ی استفاده از زمان و تاریخ در پایتون آشنا خواهید شد.

برای بسیاری از پروژه‌ها لازم است که از داده‌ای مانند زمان و تاریخ استفاده شود مثلا پروژه‌ی ایجاد یک دفترچه خاطرات که خاطرات هرروز را با نام تاریخ آن روز ذخیره کند که در آموزش بعدی به طور مفصل در مورد این پروژه صحبت خواهدشد.

برای استفاده از توابع مربوط به زمان یا time در پایتون باید در ابتدای کد ماژول time را پیوست کنید، به صورت زیر:

Import time

فاصله‌ی زمانی به صورت عدد اعشاری در واحد ثانیه بیان می‌شود و اگر بخواهید فاصله‌ی زمانی بین زمان حال و زمان ۱ ژانویه ۱۹۷۰ است که به آن زمان جهانی هماهنگ شده می‌گویند را به دست آورید، این عمل به واسطه‌ی تابع ()time.time امکان پذیر است؛ مثالی از این تابع به صورت زیر است:

import time;


ticks = time.time()

print ("Number of ticks since 12:00am, January 1, 1970:", ticks)

cheyab.ir اموزش پایتون

همچنین باید به این موضوع توجه شود که زمان‌های قبل از ساعت جهانی هماهنگ شده و زمان‌های خیلی دور در آینده توسط این تابع قابل پذیرش نیستند.

دوره های اموزشی برنامه نویسی
  • Time Tuple

اکثر توابع زمان در پایتون، زمان را به صورت یک tuple که شامل ۹ عدد است درنظر می‌گیرند؛ در جدول زیر نام هر زمینه و نام صفت مربوط به هر زمینه و همچنین مقدارهای آن آمده است.

سال (یک عدد ۴ رقمی)

tm_year

۲۰۱۹
ماه (یک عدد ۱ یا ۲ رقمی)

tm_mon

عددی بین ۱ تا ۱۲ است.
روز (یک عدد ۱ و یا ۲ رقمی)

tm_mday

عددی بین ۱ تا ۳۱ است.
ساعت

tm_hour

عددی بین ۰ تا ۲۳
دقیقه

tm_min

عددی بین ۰ تا ۵۹
ثانیه

tm_sec

عددی بین ۰ تا ۵۹
روز هفته

tm_wday

عددی بین ۰ تا ۶

۰ دوشنبه است.

روز چندم سال

tm_yday

عددی بین ۱ تا ۳۶۶
ساعت تابستانی

tm_isdst

۰ یا ۱ و یا -۱

مثلا نیمه ی اول سال در ایران این عدد ۱ است.

  • دریافت زمان حال

در بسیاری از موارد نیاز است که از مان حال استفاده شود، بدین منظور تابع ()time.localtime درنظرگرفته‌شده‌است.

این تابع یک عدد اعشاری که همان تعداد ثانیه‌ها تا کنون است را دریافت می‌کند و یک tuple از نوع زمان که شامل ۹ مورد است بازمی‌گرداند.

برای درک بهتر موضوع به مثال زیر توجه کنید:

import time;


localtime = time.localtime(time.time())

print ("Local current time :", localtime)

 cheyab.ir python11-2

  • دریافت زمان حال به صورت قالب‌بندی شده

بدین منظور میتوان از تابع ()time.asctime استفاده کرد که میتوانید خروجی آن را در نتیجه‌ی مثال زیر ببینید.

import time;


localtime = time.asctime(time.localtime(time.time()))

print ("Local current time :", localtime)

cheyab.ir python11-3

  • دریافت تقویم

برای استفاده از متدهای مربوط به تقویم ابتدا باید ماژول calendar را اضافه کنید.

Import calendar

در مثال زیر میخواهیم تقویم مربوط به ماه آوریل سال ۲۰۱۹ را نمایش دهیم.

import calendar


cal = calendar.month(2019,4)

print ("Here is the calendar:")

print (cal)

cheyab.ir python11-4

  • متدهای time

در جدول زیر تعدادی از پرکاربردترین متدهای ماژول time قرارگرفته است.

یک time tuple به عنوان ورودی می پذیرد و یک رشته‌ی ۲۴ کاراکتری به صورت زیر برمی‌گرداند.

Fri Apr 12 15:07:14 2019

time.asctime([tupletime])
زمان حال cpu را به صورت یک عدد اعشاری برمی‌گرداند. ()time.perf_counter
مشابه تابع asctime است با این تفاوت که نیازنیست زمان حال سیستم را برای آن بفرستید. time.ctime([secs])
زمان اکنون utc (ساعت هماهنگ جهانی) را برمی‌گرداند. time.gmtime([secs])
ثانیه دریافت می‌کند و زمان را به صورت یک tuple برمی‌گرداند. time.localtime([secs])
برعکس تابع localtime عمل می‌کند یعنی یک time tuple دریافت می‌کند و ثانیه برمی‌گرداند. time.mktime(tupletime)
برای تعداد ثانیه‌ای که دریافت می‌کند عملیات درحال اجرا را متوقف می‌کند. time.sleep(secs)
یک time tuple دریافت می‌کند و به صورت رشته‌ای که تعریف کرده ایم نمایش می‌دهد. time.strftime(fmt,[tupletime])
یک رشته را به از حالت کاراکتری به time tuple تبدیل می‌کند و با استفاده از struct_time قابل دسترسی است. time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’)
زمان حال را به صورت ثانیه بازمی‌گرداند. ( )time.time
  • متدهای calendar

یک تقویم از سال نمایش می‌دهد که l نشان دهنده‌ی این است که هر هفته در یک خط نمایش داده شود و c فاصله‌ی بین ستون‌های سال را نشان می‌دهد و w  عرض هرتاریخ را مشخص می‌کند. calendar.calendar(year,w=2,l=1,c=6)
عدد مربوط به روز اول هفته که دوشنبه است را برمیگرداند و به صورت پیش فرض روز دوشنبه و عدد ۰ روز اول هفته است. ( )calendar.firstweekday
اگر سال کبیسه باشد true و درغیر این صورت false برمی‌گرداند. calendar.isleap(year)
مشابه تقویم سالانه است ولی مربوط به ماه است. calendar.month(year,month,w=2,l=1)
تقویم ماه را به صورت لیست برمی‌گرداند که هر لیست نشانگر یک هفته می‌باشد. calendar.monthcalendar(year,month)
محدوده‌ی روزهای ماه را برمی‌گرداند. calendar.monthrange(year,month)
دقیقا مانند دستور زیر عمل می‌کند.

Print(calendar.calendar(year,w,l,c))

calendar.prcal(year,w=2,l=1,c=6)
دقیقا مانند دستور زیر عمل می‌کند.

print(calendar.month(year,month,w,l))

calendar.prmonth(year,month,w=2,l=1)
روز اول هفته را set می‌کند.

روزهای هفته از ۰ شروع و در ۶ خاتمه می‌یابد.

calendar.setfirstweekday(weekday)
شماره‌ی روز هفته را برمی‌گرداند. calendar.weekday(year,month,day)
برعکس ()gmtime عمل می‌کند.

یعنی یک time tuple می‌گیرد و یک عدد اعشاری به عنوان ثانیه برمی‌گرداند.

calendar.timegm(tupletime)

در قسمت بعدی اموزش پایتون پروژه‌ای در سطح مقدماتی مطرح و بررسی خواهیم کرد.

در انتهای این دوره اموزش پایتون، این زبان را در سطح مقدماتی فراگرفته‌اید، در نتیجه مباحث پیشرفته‌تری از پایتون در چ‌یاب خواهید دید.

منتظر نظرات، پیشنهادات و انتقادات شما هستیم.

با ما همراه باشید.

راستی!

جهت مطلع شدن از آخرین اخبار و آموزش های ما می‌توانید در کانال تلگرام چ یاب عضو شوید.

متولد خوزستان | فارغ‌التحصیل رشته مهندسی کامپیوتر 💻 | علاقه‌مند به عکاسی 📸، فوتبال ⚽ و برنامه‌نویسی