آموزش توابع DateTime ، TimeDelta ، Strftime در پایتون با مثال

رتبه: 5 ار 1 رای SSSSS
آموزش توابع DateTime ، TimeDelta ، Strftime در پایتون
نویسنده: تیم تولید محتوا زمان مطالعه 11 دقیقه
Banner Image

در پایتون ، کلاس های date ، time و datetime تعدادی تابع برای استفاده از تاریخ ، زمان و فواصل زمانی ارائه می دهند. date و datetime شیء هستند ، بنابراین وقتی از آن ها استفاده می کنید، در واقع از اشیاء استفاده می کنید و به صورت رشته یا timestamp نیستند. هر وقت که تاریخ یا زمان را بخواهید استفاده کنید ، باید تابع datetime را import کنید.

کلاس های datetime در پایتون به ۵ کلاس اصلی طبقه بندی می شوند.

  • date – شکل درست تاریخ (ماه ، روز ، سال)
  • time – زمان مستقل از روز (ساعت ، دقیقه ، ثانیه ، میکرو ثانیه)
  • datetime – ترکیبی از زمان و تاریخ (ماه ، روز ، سال ، ساعت ، ثانیه ، میکرو ثانیه)
  • timedelta— تخمین زمان آینده و گذشته.
  • tzinfo— کلاس انتزاعی برای برخورد با مناطق زمانی

در این آموزش می آموزیم:

  • نحوه استفاده از کلاس Date و DateTime
  • چاپ تاریخ با استفاده از ()date.today
  • تاریخ و زمان فعلی پایتون: ()now() today
  • نحوه تولید خروجی تاریخ و زمان با ()Strftime
  • نحوه استفاده از اشیاء Timedelta

نحوه استفاده از کلاس Date و DateTime

مرحله ۱) قبل از اجرای کد برای datetime ، باید ماژول های زمان و تاریخ را همانطور که در تصویر زیر نشان داده شده است import کنید.

نحوه استفاده از کلاس Date و DateTime

مواردی که import می شوند قطعاتی از پیش تعریف شده از تایع در کتابخانه پایتون هستند که به شما امکان می دهد تا از تاریخ و زمان استفاده کنید ، بدون اینکه کد بنویسید.

قبل از اجرای کد datetime نکات زیر را در نظر بگیرید

from datetime import date

این خط به مترجم پایتون می گوید که از ماژول datetime کلاس date را import می کنیم.

مرحله ۲) بعد ، نمونه ای از شیء date ایجاد می کنیم.

نحوه استفاده از کلاس Date و DateTime

مرحله ۳) تاریخ را چاپ می کنیم و کد را اجرا می کنیم.

نحوه استفاده از کلاس Date و DateTime

خروجی همانطور است که انتظار می رود.

چاپ تاریخ با استفاده از()date.today

تابع date.today دارای چندین ویژگی است که با آن ارتباط دارند. ما می توانیم روز / ماه / سال و موارد دیگر را چاپ کنیم.

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

چاپ تاریخ با استفاده از()date.today

شماره روز های هفته

تابع ()date.today شماره روز هفته را نیز به شما می دهد. جدول روزهای هفته در زیر آورده شده است.

شماره روز های هفته

تعداد روزهای هفته برای آرایه هایی که شاخص آن ها به روز هفته بستگی دارد مفید است.

شماره روز های هفته

تاریخ و زمان فعلی پایتون: هم اکنون()now() today

مرحله ۱) مانند اشیاء date ، همچنین می توانیم از “DATETIME OBJECTS” در پایتون استفاده کنیم که تاریخ را به همراه زمان در ساعت ، دقیقه ، ثانیه و میلی ثانیه نشان می دهد.

تاریخ و زمان فعلی پایتون: هم اکنون()now() today

هنگامی که ما کد را برای datetime اجرا می کنیم ، خروجی را با تاریخ و ساعت فعلی نشان می دهد.

مرحله ۲) با “DATETIME OBJECT” ، همچنین می توانید کلاس time را فرا بخوانید.

فرض کنید می خواهیم فقط زمان فعلی را بدون تاریخ چاپ کنیم.

t = datetime.time(datetime.now())

کلاس time را import کرده بودیم. مقدار فعلی زمان را با استفاده از ()datetime.now بدست می آوریم.

  • مقدار فعلی زمان را به متغیر t اختصاص می دهیم.
  • و این فقط زمان فعلی را به ما می دهد. بیایید برنامه را اجرا کنیم.

تاریخ و زمان فعلی پایتون: هم اکنون()now() today

خوب ، بنابراین می توانید ببینید که در اینجا از datetime استفاده کردیم و در ادامه، فقط زمان را به t اختصاص دادیم.

مرحله ۳) ما از فهرست نمایه روزهای هفته خود در لیست روزهای هفته ما استفاده خواهیم کرد تا بدانیم امروز کدام روز است

بسته به روز هفته ، به (wd) عدد (۰تا۶) اختصاص می یابد. در اینجا آرایه ای از روزهای هفته تعریف کردیم (دوشنبه ، سه شنبه ، چهارشنبه … یکشنبه).

از مقدار شاخص برای فهمیدن روز استفاده کردیم که شماره ۲ که چهارشنبه است را نشان می دهد ، بنابراین در خروجی چاپ خواهد شد ” Which is a Wednesday.”.

تاریخ و زمان فعلی پایتون: هم اکنون()now() today

در اینجا کد کامل برای بدست آوردن تاریخ و زمان فعلی با استفاده از datetime آورده شده است.

from datetime import date

from datetime import time

from datetime import datetime

def main():

##DATETIME OBJECTS

#Get today’s date from datetime class

today=datetime.now()

#print (today)

# Get the current time

#t = datetime.time(datetime.now())

#print “The current time is”, t

#weekday returns 0 (monday) through 6 (sunday)

wd=date.weekday(today)

#Days start at 0 for monday

days= [“monday”,”tuesday”,”wednesday”,”thursday”,”friday”,”saturday”,”sunday”]

print(“Today is day number %d” % wd)

print(“which is a ” + days[wd])

if __name__== “__main__”:

main()

نحوه تولید خروجی تاریخ و زمان با ()Strftime

آموختیم که چگونه می توان از datetime و شی date در پایتون استفاده کرد. در قدم بعدی یاد می گیریم که چگونه از تابع قالب بندی برای قالب دادن به زمان و تاریخ استفاده کنیم.

مرحله ۱) ابتدا یک مرحله ساده برای چگونگی قالب بندی سال را خواهیم دید. بهتر است با مثال آن را درک کنید.

نحوه تولید خروجی تاریخ و زمان با ()Strftime

  • برای قالب بندی از تابع “strftime” استفاده کردیم.
  • این تابع از کد کنترل متفاوتی برای ارائه خروجی استفاده می کند.
  • هر کد کنترل به پارامترهای مختلفی از قبیل سال ، ماه ، روز هفته و تاریخ شباهت دارد.

[(%y/%Y – Year), (%a/%A- weekday), (%b/%B- month), (%d – day of month)]

  • در اینجا (“Y٪”) است که به سال شباهت دارد ، سال کامل را با قرن چاپ می کند (به عنوان مثال ، ۲۰۱۸).

مرحله ۲) اکنون اگر (“Y٪”) را با حروف کوچک ، یعنی (y٪”) جایگزین کنید و کد را اجرا کنید ، خروجی فقط (۱۸) است و ۲۰۱۸ نمایش داده نمی شود.

نحوه تولید خروجی تاریخ و زمان با ()Strftime

مرحله ۳) تابع Strf می تواند تاریخ ، روز ، ماه و سال را به طور جداگانه تعریف کند. همچنین با تغییراتی کوچک در کد کنترل در تابع strftime می توانید سبک متن را قالب بندی کنید.

نحوه تولید خروجی تاریخ و زمان با ()Strftime

در داخل تابع Striftime اگر (a٪) را با حرف بزرگ A ، یعنی (A ٪) جایگزین کنید ، خروجی به جای چاپ مخفف “Fri”، “Firday” را چاپ می کند.

نحوه تولید خروجی تاریخ و زمان با ()Strftime

مرحله ۴) با کمک تابع “Strftime” می توانیم زمان و تاریخ سیستم محلی، یا هر دو را بازیابی کنیم.

۱- C٪- تاریخ و زمان محلی را نشان می دهد

۲- x٪ – تاریخ محلی را نشان می دهد

۳- X ٪ – زمان محلی را نشان می دهد

نحوه تولید خروجی تاریخ و زمان با ()Strftime

در خروجی می توانید نتیجه را مطابق آنچه انتظار می رود مشاهده کنید.

مرحله ۵) ” strftime function” به شما امکان می دهد فرمت ۲۴ ساعته یا ۱۲ ساعته زمان را صدا بزنید.

نحوه تولید خروجی تاریخ و زمان با ()Strftime

فقط با تعریف کد کنترل مانند I / H ٪ برای ساعت ،٪ M برای دقیقه ،٪ S برای ثانیه ، می توان زمان را برای قالب های مختلف فراخوانی کرد.

قالب زمان ۱۲ ساعته تعریف شده است [(print now.strftime(“%I:%M:%S %P” ]

قالب زمان ۲۴ ساعته تعریف شده است [(print now.strftime(“%H:%M”]

در زیر کد کامل تبدیل datetime به شیء String آورده شده است.

#

#Example file for formatting time and date output

#

from datetime import datetime

def main():

#Times and dates can be formatted using a set of predefined string

#Control codes

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

#%c – local date and time, %x-local’s date, %X- local’s time

print(now.strftime(“%c”))

print(now.strftime(“%x”))

print(now.strftime(“%X”))

##### Time Formatting ####

#%I/%H – 12/24 Hour, %M – minute, %S – second, %p – local’s AM/PM

print(now.strftime(“%I:%M:%S %p”)) # 12-Hour:Minute:Second:AM

print(now.strftime(“%H:%M”)) # 24-Hour:Minute

if __name__== “__main__”:

main()

نحوه استفاده از Objects Timedelta

با اشیاء timedelta می توانید زمان آینده و گذشته را نیز تخمین بزنید. به عبارت دیگر ، یک timespan برای پیش بینی روز ، تاریخ یا زمان خاصی است.

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

مرحله ۱) برای اجرای Timedelta Objects ، ابتدا باید دستور import را نوشته و سپس کد را اجرا کنید.

نحوه استفاده از Objects Timedelta

چرب زبان

پک حرفه ای یادگیری 0 تا 100 پایتون بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، از طراحی اپلیکیشن تا بازی، هک و توسعه وب درامدزایی در حد خدا !!، خرید و دانلود!

۱- عبارت import را برای timedelta بنویسید.

۲- اکنون کد را برای چاپ کردن شیء از timedelta ، همانطور که در عکس نشان داده شده است ، بنویسید.

۳- کد را اجرا کنید. timedelta مدت زمان ۳۶۵ روز ، ۸ ساعت و ۱۵ دقیقه را نشان می دهد و همان را چاپ می کند.

گیج کننده؟ مرحله بعدی کمک خواهد کرد-

مرحله ۲) تاریخ و زمان امروز را می گیریم تا بررسی کنیم آیا عبارت import ما به خوبی کار می کند یا خیر. هنگامی که کد اجرا شد ، تاریخ امروز را چاپ می کند ، به این معنی که عبارت import به خوبی کار می کند.

نحوه استفاده از Objects Timedelta

مرحله ۳) خواهیم دید که چگونه می توانیم تاریخ یک سال را از طریق اشیاء timedelta بازیابی کنیم. وقتی کد را اجرا می کنیم ، همانطور که انتظار می رود ، خروجی را ارائه می دهد.

نحوه استفاده از Objects Timedelta

مرحله ۴) نمونه دیگری از چگونگی استفاده از timedelta برای محاسبه تاریخ آینده از تاریخ و زمان فعلی.

نحوه استفاده از Objects Timedelta

مرحله ۵) بیایید به یک مثال پیچیده تر بپردازیم. می خواهیم حساب کنیم چند روز از سال نو را سپری کرده ایم.

  • Using today()= date.today به تاریخ امروز خواهیم رسید.
  • می دانیم که سال نو همیشه در تاریخ ۱ ژانویه است ، اما سال می تواند متفاوت باشد. با استفاده از (nyd= date(today.year,1,1 سال جدید را در متغیر nyd ذخیره می کنیم.
  • if nyd < today: مقایسه می کند که آیا تاریخ فعلی بیشتر از سال جدید است. اگر بله ، وارد حلقه while می شود.
  • ((today-nyd).days) تفاوت بین تاریخ فعلی و سال جدید را در DAYS نشان می دهد.

نحوه استفاده از Objects Timedelta

خروجی برابر است با: “New Year Day already went by 11 days ago.”

کد کامل:

#

# Example file for working with timedelta objects

#

from datetime import date

from datetime import time

from datetime import datetime

from datetime import timedelta

# construct a basic timedelta and print it

print (timedelta(days=365, hours=8, minutes=15))

# print today’s date

print (“today is: ” + str(datetime.now()))

# print today’s date one year from now

print (“one year from now it will be:” + str(datetime.now() + timedelta(days=365)))

# create a timedelta that uses more than one argument

# print (in one week and 4 days it will be ” + str(datetime.now() + timedelta(weeks=1, days=4)))

# How many days until New Year’s Day?

today = date.today() # get todays date

nyd = date(today.year, 1, 1) # get New Year Day for the same year

# use date comparison to see if New Year Day has already gone for this year

# if it has, use the replace() function to get the date for next year

if nyd < today:

print (“New Year day is already went by %d days ago” % ((today – nyd).days))

مثال پایتون ۲

from datetime import date

from datetime import time

from datetime import datetime

def main():

##DATETIME OBJECTS

#Get today’s date from datetime class

today=datetime.now()

#print today

# Get the current time

#t = datetime.time(datetime.now())

#print “The current time is”, t

#weekday returns 0 (monday) through 6 (sunday)

wd = date.weekday(today)

#Days start at 0 for monday

days= [“monday”,”tuesday”,”wednesday”,”thursday”,”friday”,”saturday”,”sunday”]

print “Today is day number %d” % wd

print “which is a ” + days[wd]

if __name__== “__main__”:

main()

#

#Example file for formatting time and date output

#

from datetime import datetime

def main():

#Times and dates can be formatted using a set of predefined string

#Control codes

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

#%c – local date and time, %x-local’s date, %X- local’s time

print now.strftime(“%c”)

print now.strftime(“%x”)

print now.strftime(“%X”)

##### Time Formatting ####

#%I/%H – 12/24 Hour, %M – minute, %S – second, %p – local’s AM/PM

print now.strftime(“%I:%M:%S %p”) # 12-Hour:Minute:Second:AM

print now.strftime(“%H:%M”) # 24-Hour:Minute

if __name__== “__main__”:

main()

#

# Example file for working with timedelta objects

#

from datetime import date

from datetime import time

from datetime import datetime

from datetime import timedelta

# construct a basic timedelta and print it

print timedelta(days=365, hours=8, minutes=15)

# print today’s date

print “today is: ” + str(datetime.now())

# print today’s date one year from now

print “one year from now it will be:” + str(datetime.now() + timedelta(days=365))

# create a timedelta that uses more than one argument

# print “in one week and 4 days it will be ” + str(datetime.now() + timedelta(weeks=1, days=4))

# How many days until New Year’s Day?

today = date.today() # get todays date

nyd = date(today.year, 1, 1) # get New Year Day for the same year

# use date comparison to see if New Year Day has already gone for this year

# if it has, use the replace() function to get the date for next year

if nyd < today:

print “New Year day is already went by %d days ago” % ((today – nyd).days)

خلاصه

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

  • date – شکل درست تاریخ (ماه ، روز ، سال)
  • time – زمان مستقل از روز (ساعت ، دقیقه ، ثانیه ، میکرو ثانیه)
  • datetime – ترکیبی از زمان و تاریخ (ماه ، روز ، سال ، ساعت ، ثانیه ، میکرو ثانیه)
  • timedelta— تخمین زمان آینده و گذشته.
  • tzinfo— یک کلاس انتزاعی برای برخورد با مناطق زمانی

استفاده از اشیاء datetime

  • Import کردن اشیاء datetime قبل از اجرای کد الزامی است.
  • استفاده از تابع date.today برای چاپ تاریخ به فرم روز / ماه / سال و همچنین نشان دادن روز
  • استفاده از شی date.time برای گرفتن زمان در قالب ساعت ، دقیقه ، ثانیه و میکرو ثانیه

قالب بندی Time-Out با “تابع strftime “

  • برای تغییر قالب سال از “تابع strftime ” استفاده کنید.
  • روز ، تاریخ ، ماه و سال را به طور جداگانه چاپ کنید.
  • برای قالب ۱۲ ساعته یا ۲۴ ساعته out time را فراخوانی کنید.

اشیاء Timedelta

  • با اشیاء timedelta می توانید زمان آینده و گذشته را تخمین بزنید.
  • کل روزهای باقی مانده به یک روز ویژه (مثلا تولد) را از زمان فعلی محاسبه کنید.
  • کل روزهای گذشته از روز ویژه (مثلا تولد) را از زمان فعلی محاسبه کنید.
profile name
تیم تولید محتوا

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش پروژه محور جنگو
آموزش پروژه محور جنگو
قیمت محصول 10٪ 350,000 تومان 390,000
ادامه مطلب
آموزش برنامه نویسی سی پلاس پلاس
آموزش برنامه نویسی سی پلاس پلاس
قیمت محصول 80٪ 70,000 تومان 350,000
ادامه مطلب

دیدگاهتان را بنویسید

1 2 3 4 5

1 نظر درباره «آموزش توابع DateTime ، TimeDelta ، Strftime در پایتون با مثال»

  • mahdi
    mahdi آیا این دیدگاه مفید بود ؟

    کامل و عالی

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید