آموزش تاریخ و زمان در برنامه نویسی پایتون

3 سال پیش

آموزش تاریخ و زمان در برنامه نویسی پایتون

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، شما می توانید آموزش تاریخ و زمان در برنامه نویسی پایتون را با استفاده از مثالهایی در پایتون یاد بگیرید.

 

پیشنهاد ویژه : پکیج آموزش پایتون مختص بازار کار

پایتون ماژولی به نام datetime دارد که می تواند با تاریخ و زمان کار کند. بیایید چند برنامه ساده مرتبط با تاریخ و زمان ایجاد کنیم تا مسئله را بهتر متوجه شویم.

 

مثال ۱: دریافت تاریخ و زمان فعلی

import datetime

datetime_object = datetime.datetime.now()
print(datetime_object)

 

خروجی

۲۰۱۸-۱۲-۱۹ ۰۹:۲۶:۰۳٫۴۷۸۰۳۹

 

در اینجا ما با استفاده از عبارت import datetime ماژول datetime را وارد کرده ایم.

یکی از کلاسهای تعریف شده در ماژول datetime کلاس datetime است. سپس ما از متد ()now  برای ایجاد یک شی dat datetime استفاده کردیم که شامل تاریخ و زمان محلی فعلی است.

 

مثال ۲: دریافت تاریخ فعلی 

import datetime

date_object = datetime.date.today()
print(date_object)

 

خروجی

۲۰۱۸-۱۲-۱۹

 

در این برنامه ما از متد ()Today تعریف شده در کلاس date برای بدست آوردن یک شی تاریخ با تاریخ محلی فعلی استفاده کرده ایم.

چه چیزی درون زمان قرار دارد؟

ما می توانیم از تابع ()dir برای به دست آوردن لیستی شامل تمام ویژگی های یک ماژول استفاده کنیم.

import datetime

print(dir(datetime))

 

خروجی

['MAXYEAR', 'MINYEAR', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_divide_and_round', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'timezone', 'tzinfo']

 

کلاسهایی که معمولاً در ماژول datetime استفاده می شوند عبارتند از:

  • date Class
  • time Class
  • datetime Class
  • timedelta Class

می توانید شی date را از کلاس date پیاده ساری کنید. یک شی تاریخ، تاریخ (سال ، ماه و روز) (year, month and day) را نشان می دهد.

 

مثال ۳: شی تاریخ برای نمایش تاریخ در پایتون

import datetime

d = datetime.date(2019, 4, 13)
print(d)

 

خروجی

۲۰۱۹-۰۴-۱۳

 

()date در مثال بالا سازنده کلاس تاریخ است. سازنده سه آرگومان می گیرد: سال ، ماه و روز.

متغیر a یک شی تاریخ است.

ما فقط می توانیم کلاس تاریخ را از ماژول datetime وارد کنیم. نحوه کار به صورت زیر است:

from datetime import date

a = date(2019, 4, 13)
print(a)

 

مثال ۴: دریافت تاریخ فعلی در برنامه نویسی پایتون

با استفاده از متد class به نام ()today می توانید یک شی date حاوی تاریخ فعلی ایجاد کنید. نحوه کار به صورت زیر است:

 

from datetime import date

today = date.today()

print("Current date =", today)

 

مثال ۵: دریافت تاریخ را از یک timestamp

همچنین می توانیم از یک timestamp شی date را ایجاد کنیم. Unix timestamp تعداد ثانیه های یک تاریخ خاص تا ۱ ژانویه ۱۹۷۰ در UTC است. می توانید با استفاده از متد ()fromtimestamp یک timestamp را به تاریخ تبدیل کنید.

from datetime import date

timestamp = date.fromtimestamp(1326244364)
print("Date =", timestamp)

 

خروجی

Date = 2012-01-11

 

مثال ۶: چاپ سال، ماه و روز در برنامه نویسی پایتون

ما می توانیم سال، ماه، روز، روز هفته و غیره را به راحتی از  شی date دریافت کنیم. نحوه کار به صورت زیر است:

from datetime import date

# date object of today's date
today = date.today() 

print("Current year:", today.year)
print("Current month:", today.month)
print("Current day:", today.day)

 

datetime.time

یک شی time زمانی که از کلاس time پیاده سازی شده است، زمان محلی را نشان می دهد.

 

مثال ۷: شی time برای نشان دادن زمان

from datetime import time

# time(hour = 0, minute = 0, second = 0)
a = time()
print("a =", a)

# time(hour, minute and second)
b = time(11, 34, 56)
print("b =", b)

# time(hour, minute and second)
c = time(hour = 11, minute = 34, second = 56)
print("c =", c)

# time(hour, minute, second, microsecond)
d = time(11, 34, 56, 234566)
print("d =", d)

 

خروجی

a = 00:00:00
b = 11:34:56
c = 11:34:56
d = 11:34:56.234566

 

مثال ۸: چاپ ساعت، دقیقه، ثانیه و میکروثانیه در پایتون

پس از ایجاد یک شی time، می توانید ویژگی های آن مانند ساعت، دقیقه و غیره را به راحتی چاپ کنید.

from datetime import time

a = time(11, 34, 56)

print("hour =", a.hour)
print("minute =", a.minute)
print("second =", a.second)
print("microsecond =", a.microsecond)

 

خروجی

hour = 11
minute = 34
second = 56
microsecond = 0

 

توجه داشته باشید که ما از آرگومان میکرو ثانیه عبور نکردیم. از این رو ، مقدار پیش فرض آن ۰ چاپ می شود.

 

datetime.datetime

ماژول datetime دارای یک کلاس به نام dateclass است که می تواند حاوی اطلاعاتی از اشیا date و time  باشد.

 

مثال ۹: شی datetime در برنامه نویسی پایتون

from datetime import datetime

#datetime(year, month, day)
a = datetime(2018, 11, 28)
print(a)

# datetime(year, month, day, hour, minute, second, microsecond)
b = datetime(2017, 11, 28, 23, 55, 59, 342380)
print(b)

 

خروجی

۲۰۱۸-۱۱-۲۸ ۰۰:۰۰:۰۰
۲۰۱۷-۱۱-۲۸ ۲۳:۵۵:۵۹٫۳۴۲۳۸۰

 

سه آرگومان اول سال، ماه و روز در سازنده ()datetime اجباری است.

 

مثال ۱۰: چاپ سال، ماه، ساعت، دقیقه و timestamp

from datetime import datetime

a = datetime(2017, 11, 28, 23, 55, 59, 342380)
print("year =", a.year)
print("month =", a.month)
print("hour =", a.hour)
print("minute =", a.minute)
print("timestamp =", a.timestamp())

 

خروجی

year = 2017
month = 11
day = 28
hour = 23
minute = 55
timestamp = 1511913359.34238

 

datetime.timedelta

یک شی timedelta تفاوت بین دو تاریخ یا زمان را نشان می دهد.

 

مثال ۱۱: تفاوت بین دو تاریخ و زمان

from datetime import datetime, date

t1 = date(year = 2018, month = 7, day = 12)
t2 = date(year = 2017, month = 12, day = 23)
t3 = t1 - t2
print("t3 =", t3)

t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)

print("type of t3 =", type(t3)) 
print("type of t6 =", type(t6))

 

خروجی

t3 = 201 days, 0:00:00
t6 = -333 days, 1:14:20
type of t3 = <class 'datetime.timedelta'>
type of t6 = <class 'datetime.timedelta'>

 

توجه داشته باشید ، هر دو t3 و t6 از نوع <class ‘datetime.timedelta’> هستند.

 

مثال ۱۲: تفاوت بین دو شی timedelta

from datetime import timedelta

t1 = timedelta(weeks = 2, days = 5, hours = 1, seconds = 33)
t2 = timedelta(days = 4, hours = 11, minutes = 4, seconds = 54)
t3 = t1 - t2

print("t3 =", t3)

 

خروجی

t3 = 14 days, 13:55:39

 

در اینجا، ما دو آبجکت timedelta t1 و t2 ایجاد کرده ایم و تفاوت آنها روی صفحه چاپ می شود.

مثال ۱۳: چاپ شی timedelta منفی

from datetime import timedelta

t1 = timedelta(seconds = 33)
t2 = timedelta(seconds = 54)
t3 = t1 - t2

print("t3 =", t3)
print("t3 =", abs(t3))

 

خروجی

t3 = -1 day, 23:59:39
t3 = 0:00:21

 

مثال ۱۴: مدت زمان در چند ثانیه

با استفاده از رمتد ()total_seconds می توانید تعداد کل ثانیه های یک شی timedelta را بدست آورید.

 

from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

 

خزوجی

from datetime import timedelta

t = timedelta(days = 5, hours = 1, seconds = 33, microseconds = 233423)
print("total seconds =", t.total_seconds())

 

خروجی

total seconds = 435633.233423

 

همچنین می توانید با استفاده از عملگر + جمع دو تاریخ و زمان را پیدا کنید. همچنین، می توانید یک شی timedelta را بر روی اعداد صحیح و ممیز شناور و تقسیم کنید.

 

فرمت تاریخ و زمان در برنامه نویسی پایتون

نحوه نمایش تاریخ و زمان ممکن است در مکان ها، سازمان ها و غیره متفاوت باشد. استفاده از mm / dd / yyyy در ایالات متحده معمول تر است، در حالی که dd / mm / yyyy در انگلستان بیشتر استفاده می شود.

پایتون برای کنترل این روش دارای متد های ()strftime و ()strptime است.

 

() strftime- شی تاریخ و زمان به رشته

متد ()strftime در کلاس ها، تاریخ، زمان کلاسها تعریف می شود. این روش یک رشته قالب بندی شده را از یک تاریخ معین، زمان داده یا شی  ایجاد می کند.

 

مثال ۱۵: فرمت تاریخ با استفاده از ()strftime 

from datetime import datetime

# current date and time
now = datetime.now()

t = now.strftime("%H:%M:%S")
print("time:", t)

s1 = now.strftime("%m/%d/%Y, %H:%M:%S")
# mm/dd/YY H:M:S format
print("s1:", s1)

s2 = now.strftime("%d/%m/%Y, %H:%M:%S")
# dd/mm/YY H:M:S format
print("s2:", s2)

 

خروجی

time: 04:34:52
s1: 12/26/2018, 04:34:52
s2: 26/12/2018, 04:34:52

 

در اینجا ،٪ Y ،٪ m ،٪ d ،٪ H و غیره کد فرمت هستند. متد ()strftime  یک یا چند کد فرمت را می گیرد و یک رشته قالب بندی شده را بر اساس آن برمی گرداند.

در برنامه فوق، t ،s1 و s2 رشته هستند.

  • ٪ Y – سال [۰۰۰۱ ، … ، ۲۰۱۸ ، ۲۰۱۹ ، … ، ۹۹۹۹]
  • ٪ m – ماه [۰۱ ، ۰۲ ، … ، ۱۱ ، ۱۲]
  • ٪ d – روز [۰۱ ، ۰۲ ، … ، ۳۰ ، ۳۱]
  • ٪ H – ساعت [۰۰ ، ۰۱ ، … ، ۲۲ ، ۲۳
  • ٪ M – دقیقه [۰۰ ، ۰۱ ، … ، ۵۸ ، ۵۹]
  • ٪ S – ثانیه  [۰۰ ، ۰۱ ، … ، ۵۸ ، ۵۹]

()strptime  – رشته به datetime

متد ()strptime یک رشته datetime را از یک رشته مشخص ایجاد می کند (که تاریخ و زمان را نشان می دهد).

مثال ۱۶: ()strptime 

from datetime import datetime

date_string = "21 June, 2018"
print("date_string =", date_string)

date_object = datetime.strptime(date_string, "%d %B, %Y")
print("date_object =", date_object)

 

خروجی

date_string = 21 June, 2018
date_object = 2018-06-21 00:00:00

 

متد ()strptime  دو آرگومان می گیرد:

  1. رشته ای که تاریخ و زمان را نشان می دهد
  2. کد فرمت معادل آرگومان اول است

ضمناً ،٪ d ،٪ B و٪ Y کد فرمت به ترتیب برای روز، ماه (نام کامل) و سال استفاده می شود.

 

 

مدیریت منطقه زمانی در پایتون

فرض کنید شما در حال کار بر روی یک پروژه هستید و باید تاریخ و زمان را بر اساس منطقه زمانی آنها نمایش دهید. به جای اینکه بخواهید خودتان منطقه زمانی را اداره کنید، پیشنهاد می کنیم از ماژول pytZ شخص ثالث استفاده کنید.

from datetime import datetime
import pytz

local = datetime.now()
print("Local:", local.strftime("%m/%d/%Y, %H:%M:%S"))


tz_NY = pytz.timezone('America/New_York') 
datetime_NY = datetime.now(tz_NY)
print("NY:", datetime_NY.strftime("%m/%d/%Y, %H:%M:%S"))

tz_London = pytz.timezone('Europe/London')
datetime_London = datetime.now(tz_London)
print("London:", datetime_London.strftime("%m/%d/%Y, %H:%M:%S"))

 

خروجی

Local time: 2018-12-20 13:10:44.260462
America/New_York time: 2018-12-20 13:10:44.260462
Europe/London time: 2018-12-20 13:10:44.260462

 

در اینجا datetime_NY و datetime_London اشیا dat datetime هستند که حاوی تاریخ و زمان فعلی منطقه زمانی مربوطه هستند.

 

منبع.

لیست جلسات قبل آموزش برنامه نویسی پایتون

  1. آموزش نصب و اجرای برنامه نویسی پایتون
  2. کلیدواژه ها و شناسه های برنامه نویسی پایتون
  3. دستورات، تورفتگی ها و کامنت ها در برنامه نویسی پایتون
  4. متغیرها، ثابت ها و لیترال ها در برنامه نویسی پایتون 
  5. انواع داده ها در برنامه نویسی پایتون
  6. تبدیل نوع در برنامه نویسی پایتون
  7. ورودی، خروجی و وارد کردن در برنامه نویسی پایتون
  8. عملگرها در برنامه نویسی پایتون
  9. نام و دامنه در برنامه نویسی پایتون
  10. دستور شرطی if…else در برنامه نویسی پایتون
  11. حلقه for در برنامه نویسی پایتون
  12. حلقه while در برنامه نویسی پایتون
  13. دستورات break و continue در برنامه نویسی پایتون
  14. دستور pass در برنامه نویسی پایتون
  15. توابع در برنامه نویسی پایتون
  16. آرگومان تابع در برنامه نویسی پایتون
  17. تابع بازگشتی در برنامه نویسی پایتون
  18. تابع بی نام/ تابع لامبدا در برنامه نویسی پایتون
  19. متغیرهای سراسری، محلی و غیر محلی در برنامه نویسی پایتون
  20. کلیدواژه global در برنامه نویسی پایتون
  21. ماژول های برنامه نویسی پایتون
  22. پکیج ها در برنامه نویسی پایتون
  23. اعداد و تبدیل نوع داده در برنامه نویسی پایتون 
  24. لیست در برنامه نویسی پایتون
  25. تاپل در برنامه نویسی پایتون 
  26. رشته ها در برنامه نویسی پایتون
  27. مجموعه ها در برنامه نویسی پایتون
  28. دیکشنری در برنامه نویسی پایتون
  29. عملیات ورودی/خروجی در برنامه نویسی پایتون 
  30. دایرکتوری و مدیریت فایل ها در برنامه نویسی پایتون
  31. خطاها و استثناهای توکار در برنامه نویسی پایتون
  32. مدیریت استثناها در برنامه نویسی پایتون
  33. استثناهای تعریف شده توسط کاربر در برنامه نویسی پایتون
  34. برنامه ‌نویسی شی گرا در پایتون
  35. اشیا و کلاس ها در برنامه نویسی پایتون
  36. وراثت در برنامه نویسی پایتون
  37. وراثت چندگانه در برنامه نویسی پایتون
  38. سربارگذاری عملگرها در برنامه نویسی پایتون
  39. تکرار کننده ها در برنامه نویسی پایتون
  40. Generator در برنامه نویسی پایتون
  41. بستار در برنامه نویسی پایتون
  42. دکوراتور در برنامه نویسی پایتون
  43. دکوراتور property در برنامه نویسی پایتون
  44. عبارات با قاعده در برنامه نویسی پایتون (RegEx)
  45. تمرین برنامه نویسی پایتون برای پرینت !Hello world
  46. تمرین برنامه نویسی پایتون برای جمع کردن دو عدد
  47. تمرین برنامه نویسی پایتون برای یافتن ریشه مربع
  48. تمرین برنامه نویسی پایتون برای محاسبه مساحت یک مثلث
  49. تمرین برنامه نویسی پایتون برای حل معادله درجه دوم
  50. تمرین برنامه نویسی پایتون برای مبادله دو متغیر
  51. تمرین برنامه نویسی پایتون برای تولید عدد تصادفی
  52. تمرین برنامه نویسی پایتون برای تبدیل کیلومتر به مایل
  53. تمرین برنامه نویسی پایتون برای تبدیل سانتیگراد به فارنهایت
  54. تمرین برنامه نویسی پایتون برای بررسی مثبت یا منفی بودن یک عدد
  55. تمرین برنامه پایتون برای بررسی زوج یا فرد بودن یک عدد
  56. تمرین برنامه نویسی پایتون برای بررسی سال کبیسه
  57. تمرین برنامه نویسی پایتون برای یافتن بزرگترین عدد در بین سه عدد
  58. تمرین برنامه نویسی پایتون برای بررسی عدد اول
  59. تمرین برنامه نویسی پایتون برای چاپ تمام اعداد اول در یک بازه زمانی
  60. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای یک عدد
  61. تمرین برنامه نویسی پایتون برای نمایش جدول ضرب
  62. تمرین برنامه نویسی پایتون برای چاپ توالی فیبوناچی
  63. تمرین برنامه نویسی پایتون برای بررسی عدد آرمسترانگ
  64. تمرین برنامه نویسی پایتون برای یافتن عدد آرمسترانگ بین دو عدد صحیح
  65. تمرین برنامه نویسی پایتون برای یافتن مجموع اعداد طبیعی
  66. تمرین برنامه نویسی پایتون برای نمایش توان ۲ با استفاده از تابع بی نام
  67. تمرین برنامه نویسی پایتون برای یافتن اعداد قابل تقسیم بر عدد دیگری
  68. تمرین برنامه نویسی پایتون برای تبدیل دهدهی به باینری، اکتال و هگزادسیمال
  69. تمرین برنامه نویسی پایتون برای یافتن مقدار کاراکتر ASCII
  70. تمرین برنامه نویسی پایتون برای یافتن HCF یا GCD
  71. تمرین برنامه نویسی پایتون برای یافتن LCM
  72. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای یک عدد
  73. تمرین برنامه نویسی پایتون برای ساخت یک ماشین حساب ساده
  74. تمرین برنامه نویسی پایتون برای جابجایی کارت های Deck
  75. تمرین برنامه نویسی پایتون برای نمایش تقویم
  76. تمرین برنامه نویسی پایتون برای نمایش توالی فیبوناچی با استفاده از بازگشت
  77. تمرین برنامه نویسی پایتون برای یافتن مجموع اعداد طبیعی با استفاده از بازگشت
  78. تمرین برنامه نویسی پایتون برای یافتن فاکتورهای عدد با استفاده از بازگشت
  79. تمرین برنامه نویسی پایتون برای تبدیل دهدهی به باینری با استفاده از بازگشت
  80. تمرین برنامه نویسی پایتون برای جمع دو ماتریس
  81. تمرین برنامه نویسی پایتون برای انتقال یک ماتریس
  82. تمرین برنامه نویسی پایتون برای ضرب دو ماتریس
  83. تمرین برنامه نویسی پایتون برای بررسی پالیندروم یک رشته  
  84. تمرین برنامه نویسی پایتون برای حذف علائم نگارشی از یک رشته
  85. تمرین برنامه نویسی پایتون برای مرتب سازی کلمات به ترتیب حروف الفبا
  86. تمرین برنامه نویسی پایتون برای نشان دادن مجموعه ها
  87. تمرین برنامه نویسی پایتون برای شمارش تعداد هر مصوت
  88. تمرین برنامه نویسی پایتون برای ادغام نامه ها
  89. تمرین برنامه نویسی پایتون برای یافتن اندازه (وضوح) یک تصویر
  90. تمرین برنامه نویسی پایتون برای یافتن هش یک فایل
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه