در این سری از اموزش پایتون چیاب با نحوهی استفاده از زمان و تاریخ در پایتون آشنا خواهید شد.
برای بسیاری از پروژهها لازم است که از دادهای مانند زمان و تاریخ استفاده شود مثلا پروژهی ایجاد یک دفترچه خاطرات که خاطرات هرروز را با نام تاریخ آن روز ذخیره کند که در آموزش بعدی به طور مفصل در مورد این پروژه صحبت خواهدشد.
برای استفاده از توابع مربوط به زمان یا time در پایتون باید در ابتدای کد ماژول time را پیوست کنید، به صورت زیر:
Import time
فاصلهی زمانی به صورت عدد اعشاری در واحد ثانیه بیان میشود و اگر بخواهید فاصلهی زمانی بین زمان حال و زمان ۱ ژانویه ۱۹۷۰ است که به آن زمان جهانی هماهنگ شده میگویند را به دست آورید، این عمل به واسطهی تابع ()time.time امکان پذیر است؛ مثالی از این تابع به صورت زیر است:
import time; ticks = time.time() print ("Number of ticks since 12:00am, January 1, 1970:", ticks)
همچنین باید به این موضوع توجه شود که زمانهای قبل از ساعت جهانی هماهنگ شده و زمانهای خیلی دور در آینده توسط این تابع قابل پذیرش نیستند.
-
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)
- دریافت زمان حال به صورت قالببندی شده
بدین منظور میتوان از تابع ()time.asctime استفاده کرد که میتوانید خروجی آن را در نتیجهی مثال زیر ببینید.
import time; localtime = time.asctime(time.localtime(time.time())) print ("Local current time :", localtime)
- دریافت تقویم
برای استفاده از متدهای مربوط به تقویم ابتدا باید ماژول calendar را اضافه کنید.
Import calendar
در مثال زیر میخواهیم تقویم مربوط به ماه آوریل سال ۲۰۱۹ را نمایش دهیم.
import calendar cal = calendar.month(2019,4) print ("Here is the calendar:") print (cal)
-
متدهای 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) |
در قسمت بعدی اموزش پایتون پروژهای در سطح مقدماتی مطرح و بررسی خواهیم کرد.
در انتهای این دوره اموزش پایتون، این زبان را در سطح مقدماتی فراگرفتهاید، در نتیجه مباحث پیشرفتهتری از پایتون در چیاب خواهید دید.
منتظر نظرات، پیشنهادات و انتقادات شما هستیم.
با ما همراه باشید.
راستی!
جهت مطلع شدن از آخرین اخبار و آموزش های ما میتوانید در کانال تلگرام چ یاب عضو شوید.
ارسال پاسخ
نمایش دیدگاه ها